NAV
School Data Sync

Introduction

Welcome to the Wonde API documentation.

The Wonde API allows you to manage school data within the Wonde cloud in a simple, programmatic way using conventional HTTP requests. The endpoints are intuitive and powerful, allowing you to easily make calls to retrieve or update information.

The API documentation will start with a general overview about the design and technology that has been implemented, followed by reference information about specific endpoints.

Regional Domains

The domain used for Wonde API requests varies depending on the region that a school is located. This is to ensure data is stored in the correct region to meet data protection requirements.

The domain required for a school is available through the region object returned by a call to the https://docs.wonde.com/docs/api/sync#schools endpoint. This domain can then be used to build the API call by inserting the domain into the following base URL https://{domain}/v1.0/schools/. Using the wrong domain for a school will return no data.

The domain required for schools in the UK and the rest of the world is "api.wonde.com"
The domain required for schools in Australia and New Zealand is "api-ap-southeast-2.wonde.com"
The domain required for schools in South Africa is "api-af-south-1.wonde.com"

Authentication

CURL EXAMPLE
curl https://api.wonde.com/v1.0 \
    -u 7e76896f9aca62569048c667db292d72dd84f224:
curl https://api.wonde.com/v1.0 \
    -H "Authorization: Bearer 7e76896f9aca62569048c667db292d72dd84f224"

There are two separate ways to authenticate and gain access to the Wonde API.

The first option is to send a bearer authorization header with your request. This is the preferred method of authenticating because it completes the authorization request in the header portion, away from the actual request.

You can also authenticate using basic authentication. The normal way to do this with a tool like curl is to use the -u flag which is used for passing authentication information.

You then send the username and password combination delimited by a colon character i.e; (username:password). We only require an access token, so use this as the username and leave the password field blank (make sure to include the colon character though).

IDs

Wonde ID

Almost all objects returned by the API have an id property, in the format A123456789. This will change only if a school migrates between MIS, or in exceptional circumstances, and not without prior notice. For migration monitoring, please see our 'schoolMigration’ webhook'.

MIS ID

Where available, we also provide the ID used to refer to an object within the source MIS in the mis_id property. In some situations, we have to create it based on other fields provided by the MIS and it may change without prior notice. It can be useful, but please excercise caution when using this property in your code.

Scopes

After authorisation, the data available is dependant on your active scopes. Scopes are specific to your access token and the school being accessed. Scopes exist for objects and their properties - without an active scope, a property's value will be null.

Pagination

The API supports two types of pagination: The default is offset pagination, and the optional alternative is cursor pagination.

The pagination object is returned as part of the response body when pagination is enabled. By default, 50 objects are returned per page. If the response contains 50 objects or fewer, no pagination object will be returned. If the response contains more than 50 objects, the first 50 will be returned along with the pagination object.

You can request a different pagination limit or force pagination by appending ?per_page= to the request with the number of items you would like per page. For instance, to show only two results per page, you could add ?per_page=2 to the end of your query. The maximum number of results per page is set per endpoint.

Key Description
next The next page in the paginated response.
previous The previous page in the paginated response.
more Is there another page after the current page.
per_page How many rows are currently being returned per page/response.
current_page The current paginated page number.

Offset Pagination

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/students/?page=1"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Meta Object
{
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/students/?page=2",
            "previous": null,
            "more": true,
            "per_page": "50",
            "current_page": 1
        }
    }
}

Offset pagination is the default type of pagination used in the API. It offers the ability to quickly jump to a specific page in a paginated set of results, however this type of pagination carries an overhead the further you traverse through a paginated dataset. With each new page requested from the API in sequential order, the underlying database query will have to fetch all the data up to the point of the desired offset, resulting in slower queries and slower response times as the page number gets larger.

Cursor Pagination

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/students/?cursor=true"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Meta Object
{
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/students/?cursor=eyJzY2hvb2xzLmlkIjoxLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
            "previous": null,
            "more": true,
            "per_page": "50",
            "current_page": 1
        }
    }
}

Cursor pagination is not returned by default in the API. To use cursor pagination, you need to add the ?cursor=true query parameter. Cursor pagination does not provide the ability to quickly jump to a specific page, but it allows for far quicker traversal of paginated results. If your only requirement is to extract data from the API (and not jump to specific pages out of order) then we would recommend you use this type of pagination.

Includes

Response Body
{
    "meta": {
        "includes": [
            "contacts",
            "contacts.contact_details"
        ]
    }
}

By default, the response contains only the basic properties of the specified request for optimised performance. Use include to select additional properties you need. The include options available for a request are specified in the meta data of any request.

Date filtering

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/students?updated_after=2024-11-04 10:11:11&updated_before=2024-11-16 12:11:00"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

You can filter the data returned in a request by using the date filtering parameters updated_after and updated_before. These parameters require the date to be in ISO format for example ?updated_after=2024-11-04 10:11:11&updated_before=2024-11-16 12:11:00.

Errors

The Wonde API uses the following error codes:

Error Code Meaning
400 Bad Request – Something was wrong with the request.
401 Unauthorized – API key is invalid.
403 Forbidden – Incorrect permissions to view resource.
404 Not Found – The resource could not be found.
422 Unprocessable Entity – Invalid data has been supplied, please check the error message.
423 School Inactive – School is currently inactive, please try again later.
429 Too many requests.
500 Internal Server Error – We had a problem with our server. Try again later.
503 Service Unavailable – We’re temporarily offline for maintenance. Please try again later.

Compression

Curl example
curl "https://api.wonde.com/v1.0/schools/all"
    -H "Accept-Encoding: gzip"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

If the client fetching data from the API supports gzip, then it is possible to enable this feature and reduce bandwidth usage by provided the following header with a request: Accept-Encoding: gzip

SDKs & Client Libraries

There are currently PHP, Ruby and .NET open source libraries available for the API.

Currently we do not update or maintain these clients unless there is a critical issue or bug preventing it from working.

Deletions

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/deletions"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "type": "contact",
            "id": "A270887459",
            "mis_id": "3462",
            "deleted_at": {
                "date": "2016-03-10 18:28:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "restored_at": {
                "date": "2016-03-10 18:28:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }                
        },
        {
            "type": "student",
            "id": "A791227211",
            "mis_id": "3452",
            "deleted_at": {
                "date": "2016-04-11 09:26:49.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "restored_at": {
                "date": "2016-04-11 09:26:49.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/deletions?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

It's recommended that you use the updated_after url parameter to efficiently sync updates to datasets. The deletions endpoint exists to provide a record of when an item is deleted.

The deletions endpoint will have an entry for every top level item (student, contact, employee, group...) unless the object is deleted due to a parent being removed. An example of this would be when a class is removed the associated lessons would be deleted without an entry in the deletions endpoint.

A restored_at value will be returned for the deletions of students, student pre-admissions, student leavers, contacts, employees, groups and classes when a record that was previously deleted has been restored (it became available in the MIS data again with the same MIS ID).

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
type string Only return records that have the provided type.

Webhooks

RESPONSE BODY
{
    "payload_type": "writeback",
    "writeback_id": "A2032141745",
    "status": "SUCCESS",
    "type": "attendance.session"
}

{
    "payload_type": "schoolApproved",
    "school_id": "A2032141745",
    "school_name": "Sir John Cass's Foundation Primary School",
    "school_token": "7e76896f9aca62569048c667db292d72dd84f224",
    "school_la_code": "201",
    "school_urn": "10000",
    "school_establishment_number": "3614"
}

{
    "payload_type": "accessRevoked",
    "school_id": "A2032141745",
    "school_name": "Sir John Cass's Foundation Primary School",
    "school_la_code": "201",
    "school_urn": "10000",
    "school_establishment_number": "3614",
    "revoke_reason": "Reason for revoking access"
}

{
    "payload_type": "accessDeclined",
    "school_id": "A2032141745",
    "school_name": "Sir John Cass's Foundation Primary School",
    "school_la_code": "201",
    "school_urn": "10000",
    "school_establishment_number": "3614",
    "decline_reason": "Reason for declining access"
}

{
    "payload_type": "schoolMigration",
    "school_id": "A2032141745",
    "school_name": "Sir John Cass's Foundation Primary School",
    "migrate_from": "SIMS",
    "migrate_to": "SIMS Primary",
    "scheduled_at": "2022-03-01T00:00:00.000Z",
    "completed_at": null
}

Webhooks allow external services to be notified when certain events happen within Wonde. When the specified events happen, we’ll send a POST request to the URL you provide.

To add a Webhook for your application go to 'Settings' within your Wonde dashboard and then select 'API > Webhook' from the top right menu. The Webhook URL will receive a POST request from Wonde once an action has completed.

Underneath is a list of the webhooks available. You need to tick which webhooks you want to receive. The POST request will contain a payload in its body with a payload_type property to denote the type being sent.

Payload types

Payload Type Description
writeback

Once you have sent a writeback request (for example, for attendance sessions), you’ll receive a writeback_id as a response immediately. Once the writeback has been completed with the MIS we will notify you by sending a POST request to your Webhook URL with a payload_type of writeback and some additional data, including the writeback_id which was returned to you initially.

schoolApproved

A school approved payload is sent when a school approves the request. Once we check and subsequently approve the data audit, we will notify you by sending a POST request to your Webhook URL with a payload_type of schoolApproved and some additional data as detailed in the included response body example.

If you have enabled the automatic school token generation preference in your settings, you will also receive a school_token that gets generated when your access to a school has been approved.

accessRevoked

An access revoked payload is sent when a school revokes access to your application. We will notify you by sending a POST request to your Webhook URL with a payload_type of accessRevoked, a revoke_reason and some additional school meta information.

accessDeclined

An access declined payload is sent when a school declines access to your application. We will notify you by sending a POST request to your Webhook URL with a payload_type of accessDeclined, a decline_reason and some additional school meta information.

schoolMigration

A school migration payload is sent when a school has been scheduled for migration and when the migration has been completed. We will notify you by sending a POST request to your Webhook URL with a payload_type of schoolMigration, school_name, migrate_from, migrate_to, scheduled_at and completed_at. The completed_at will be null if the migration is still in progress. Otherwise, it will indicate when the migration was completed.

Schools

GET Approved Schools

CURL EXAMPLE
curl "https://api.wonde.com/v1.0/schools"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "name": "Sir John Cass's Foundation Primary School",
            "establishment_number": "3614",
            "urn": 10000,
            "phase_of_education": "PRIMARY",
            "la_code": "201",
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St James's Passage",
                "address_line_2": "Duke's Place",
                "address_town": "London",
                "address_postcode": "EC3A 5DE",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": 201,
                    "establishment_number": 3614,
                    "urn": 10000
                }
            }
        },
        {
            "id": "A1161584171",
            "name": "City of London School for Girls",
            "establishment_number": 6005,
            "urn": 10001,
            "phase_of_education": "NOT APPLICABLE",
            "la_code": 201,
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St Giles' Terrace",
                "address_line_2": "Barbican",
                "address_town": "London",
                "address_postcode": "EC2Y 8BB",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": 201,
                    "establishment_number": 6005,
                    "urn": 10001
                }
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

Return all schools that have approved access for your application. You can request access to a school via the API or the Administration Panel.

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
postcode string Return results matching postcode search string.
la_code string Return results with provided la_code.
establishment_number string Return results with provided establishment_number.

GET All Schools

CURL EXAMPLE
curl "https://api.wonde.com/v1.0/schools/all"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "name": "Sir John Cass's Foundation Primary School",
            "establishment_number": "3614",
            "urn": 10000,
            "phase_of_education": "PRIMARY",
            "la_code": "201",
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St James's Passage",
                "address_line_2": "Duke's Place",
                "address_town": "London",
                "address_postcode": "EC3A 5DE",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": 201,
                    "establishment_number": 3614,
                    "urn": 10000
                }
            }
        },
        {
            "id": "A1161584171",
            "name": "City of London School for Girls",
            "establishment_number": 6005,
            "urn": 10001,
            "phase_of_education": "NOT APPLICABLE",
            "la_code": 201,
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St Giles' Terrace",
                "address_line_2": "Barbican",
                "address_town": "London",
                "address_postcode": "EC2Y 8BB",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": 201,
                    "establishment_number": 6005,
                    "urn": 10001
                }
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

Return a list of all schools

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
postcode string Return results matching postcode search string.
la_code string Return results with provided la_code.
establishment_number string Return results with provided establishment_number.
urn int Return results with provided unique reference number.

GET Pending Schools

CURL EXAMPLE
curl "https://api.wonde.com/v1.0/schools/pending"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "name": "Sir John Cass's Foundation Primary School",
            "establishment_number": "3614",
            "urn": 10000,
            "phase_of_education": "PRIMARY",
            "la_code": "201",
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St James's Passage",
                "address_line_2": "Duke's Place",
                "address_town": "London",
                "address_postcode": "EC3A 5DE",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": "201",
                    "establishment_number": "3614",
                    "urn": 10000
                }
            }
        },
        {
            "id": "A1161584171",
            "name": "City of London School for Girls",
            "establishment_number": 6005,
            "urn": 10001,
            "phase_of_education": "NOT APPLICABLE",
            "la_code": 201,
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St Giles' Terrace",
                "address_line_2": "Barbican",
                "address_town": "London",
                "address_postcode": "EC2Y 8BB",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": 201,
                    "establishment_number": 6005,
                    "urn": 10001
                }
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

Return all that have a pending access request.

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
postcode string Return results matching postcode search string.
la_code string Return results with provided la_code.
establishment_number string Return results with provided establishment_number.

GET Audited Schools

CURL EXAMPLE
curl "https://api.wonde.com/v1.0/schools/audited"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "name": "Sir John Cass's Foundation Primary School",
            "establishment_number": "3614",
            "urn": 10000,
            "phase_of_education": "PRIMARY",
            "la_code": "201",
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St James's Passage",
                "address_line_2": "Duke's Place",
                "address_town": "London",
                "address_postcode": "EC3A 5DE",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": "201",
                    "establishment_number": "3614",
                    "urn": 10000
                }
            }
        },
        {
            "id": "A1161584171",
            "name": "City of London School for Girls",
            "establishment_number": 6005,
            "urn": 10001,
            "phase_of_education": "NOT APPLICABLE",
            "la_code": 201,
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St Giles' Terrace",
                "address_line_2": "Barbican",
                "address_town": "London",
                "address_postcode": "EC2Y 8BB",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": 201,
                    "establishment_number": 6005,
                    "urn": 10001
                }
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

Return all that have passed through our data audit process.

These schools will have passed through our data audit process which is based on reports running successfully and data completeness.

We would recommend that you integrate with approved schools using this endpoint.

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
postcode string Return results matching postcode search string.
la_code string Return results with provided la_code.
establishment_number string Return results with provided establishment_number.

GET Offline Schools

CURL EXAMPLE
curl "https://api.wonde.com/v1.0/schools/offline"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "name": "Sir John Cass's Foundation Primary School",
            "establishment_number": "3614",
            "urn": 10000,
            "phase_of_education": "PRIMARY",
            "la_code": "201",
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St James's Passage",
                "address_line_2": "Duke's Place",
                "address_town": "London",
                "address_postcode": "EC3A 5DE",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": "201",
                    "establishment_number": "3614",
                    "urn": 10000
                }
            }
        },
        {
            "id": "A1161584171",
            "name": "City of London School for Girls",
            "establishment_number": 6005,
            "urn": 10001,
            "phase_of_education": "NOT APPLICABLE",
            "la_code": 201,
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St Giles' Terrace",
                "address_line_2": "Barbican",
                "address_town": "London",
                "address_postcode": "EC2Y 8BB",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": 201,
                    "establishment_number": 6005,
                    "urn": 10001
                }
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

Return all SIMS schools have not responded for 24 hours.

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
postcode string Return results matching postcode search string.
la_code string Return results with provided la_code.
establishment_number string Return results with provided establishment_number.

GET Revoked Schools

CURL EXAMPLE
curl "https://api.wonde.com/v1.0/schools/revoked"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "name": "Sir John Cass's Foundation Primary School",
            "establishment_number": "3614",
            "urn": 10000,
            "phase_of_education": "PRIMARY",
            "la_code": "201",
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St James's Passage",
                "address_line_2": "Duke's Place",
                "address_town": "London",
                "address_postcode": "EC3A 5DE",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": "201",
                    "establishment_number": "3614",
                    "urn": 10000
                }
            }
        },
        {
            "id": "A1161584171",
            "name": "City of London School for Girls",
            "establishment_number": 6005,
            "urn": 10001,
            "phase_of_education": "NOT APPLICABLE",
            "la_code": 201,
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St Giles' Terrace",
                "address_line_2": "Barbican",
                "address_town": "London",
                "address_postcode": "EC2Y 8BB",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": 201,
                    "establishment_number": 6005,
                    "urn": 10001
                }
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

Return all schools that have revoked access.

Url parameters

Name type Description
per_page int Amount of rows to return.

GET Declined Schools

CURL EXAMPLE
curl "https://api.wonde.com/v1.0/schools/declined"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "name": "Sir John Cass's Foundation Primary School",
            "establishment_number": "3614",
            "urn": 10000,
            "phase_of_education": "PRIMARY",
            "la_code": "201",
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St James's Passage",
                "address_line_2": "Duke's Place",
                "address_town": "London",
                "address_postcode": "EC3A 5DE",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": "201",
                    "establishment_number": "3614",
                    "urn": 10000
                }
            }
        },
        {
            "id": "A1161584171",
            "name": "City of London School for Girls",
            "establishment_number": 6005,
            "urn": 10001,
            "phase_of_education": "NOT APPLICABLE",
            "la_code": 201,
            "timezone": null,
            "mis": null,
            "address": {
                "address_line_1": "St Giles' Terrace",
                "address_line_2": "Barbican",
                "address_town": "London",
                "address_postcode": "EC2Y 8BB",
                "address_country": {
                    "code": "GBR",
                    "name": "United Kingdom"
                }
            },
            "extended": {
                "allows_writeback": true,
                "has_timetables": false,
                "has_lesson_attendance": false
            },
            "region": {
                "code": "GBR",
                "domain": "api.wonde.com",
                "school_url": "https://api.wonde.com/v1.0/schools/A1300691890",
                "identifiers": {
                    "la_code": 201,
                    "establishment_number": 6005,
                    "urn": 10001
                }
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

Return all schools that have declined access.

Url parameters

Name type Description
per_page int Amount of rows to return.

GET School Meta Data

CURL EXAMPLE
curl "https://api.wonde.com/v1.0/meta/schools/{school_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": {
        "online": true,
        "approved": true,
        "audited": false,
    "custom_attendance_codes": false
    }
}

Return meta data for a school.

Name type Description
online boolean If the school is online.
approved boolean If the school has approved access to application.
audited boolean If the school has been audited for data completeness.
custom_attendance_codes boolean If the school has their own custom attendance codes.

GET Applied Permissions

CURL EXAMPLE
curl "https://api.wonde.com/v1.0/meta/schools/{school_id}/permissions"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "identity": "students.read",
            "name": "Students read",
            "description": "View student data",
            "parent": null,
            "group": "Student",
            "active_from": {
                "date": "2018-02-01 15:32:20.000000",
                "timezone_type": 3,
                "timezone": "Europe/London",
            },
            "optional": true,
            "approved": true,
            "audited": false
        },
        {
            "identity": "students-date-of-birth.read",
            "name": "Students date of birth read",
            "description": "View student date of birth data",
            "parent": "students.read",
            "group": "Student",
            "active_from": {
                "date": "2018-02-01 15:32:20.000000",
                "timezone_type": 3,
                "timezone": "Europe/London",
            },
            "optional": false,
            "approved": false,
            "audited": false
        },
    ]
}

Return your permissions as applied to a school.

GET Access Control List

Return the access control list applied to a school.

CURL EXAMPLE
curl "https://api.wonde.com/v1.0/meta/schools/{school_id}/acl"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": {
        "mode": "blacklist",
        "ids": [
            "A1329183376",
            "A1161584171",
            "A1529934786",
            "A1362597725",
            "A1462380788"
        ]
    }
}
CURL EXAMPLE
curl "https://api.wonde.com/v1.0/meta/schools/{school_id}/acl?with_user_type=true"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": {
        "mode": "blacklist",
        "ids": [ 
            {
                "id": "A123456789",
                "type": "student"
            },
            {
                "id": "A987654321",
                "type": "contact"
            }
        ]
    }
}

Url parameters

Name type Description
with_user_type boolean Display the type of user.

ACL Object

Name Type Description
mode string
nullable
This can be "blacklist", "whitelist" or null if an ACL has not been enabled at the school.
ids array Array of person id's that have been added to the ACL.

POST Request Access

CURL EXAMPLE
curl -X POST -H "Authorization: Bearer API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "contacts": [
        {
            "first_name": "Joe",
            "last_name": "Bloggs",
            "phone_number": "07700777777",
            "email_address": "[email protected]",
            "notes": "Spoke with Joe to discuss our application earlier today."
        }
    ]}' "https://api.wonde.com/v1.0/schools/{school_id}/request-access"

When requesting access to a school it is recommended that you provide details of available contacts at the school. This can speed up the approval process considerably, but it is not required.

The contact should be provided within an array. More than one contact can be provided.

Request body

Request Body
{
     "contacts": [
         {
             "first_name": "Joe",
             "last_name": "Bloggs",
             "phone_number": "07700777777",
             "email_address": "[email protected]",
             "notes": "Spoke with Joe to discuss our application earlier today."
         },
         {
             "first_name": "John",
             "last_name": "Smith",
             "phone_number": "07700888888",
             "email_address": "[email protected]",
             "notes": "John is the school IT technician."
         }
     ]
 }

To add contact details, send a JSON encoded POST request to /v1.0/schools/{school_id}/request-access

An example of the request body is provided on the right.
The attribute values that must be set successfully to add a contact to the request are:

Name type Required Description
first_name string Yes First name of contact.
last_name string Yes Last name of contact.
phone_number string No Phone number of contact.
email_address string Yes Email address of contact.
notes string No Notes for the contact.
Response Body
{
    "success": true,
    "state": "pending",
    "message": "Access request successfully received"
}

DELETE Revoke Access

CURL EXAMPLE
curl -X DELETE "https://api.wonde.com/v1.0/schools/{school_id}/revoke-access"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "success": true,
    "state": "revoked",
    "message": "Access revoked"
}

Achievements

GET Achievements

curl "https://api.wonde.com/v1.0/schools/{school_id}/achievements"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}/achievements/{achievement_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A408720213",
            "mis_id": "1015",
            "type": "Musical Activity",
            "action": null,
            "subject": "Science",
            "class": "7A/Science",
            "points": 10,
            "total_points": 50,
            "comment": "Excellent effort in the school band performance at lunchtime",
            "parents_notified": true,
            "achievement_date": {
                "date": "2015-01-09 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "action_date": null,
            "recorded_date": {
                "date": "2015-01-09 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "created_at": {
                "date": "2016-03-15 11:08:26.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-03-15 11:08:26.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A803392563",
            "mis_id": "1016",
            "type": "Excellent Effort",
            "action": null,
            "subject": "Art",
            "class": "7A/Art",
            "points": 15,
            "comment": null,
            "parents_notified": true,
            "achievement_date": {
                "date": "2015-01-09 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "action_date": {
                "date": "2015-01-09 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "recorded_date": {
                "date": "2015-03-13 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "created_at": {
                "date": "2016-03-15 11:08:26.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-03-15 11:08:26.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": null,
            "previous": null,
            "more": false,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "students",
            "employees"
        ]
    }
}

Url parameters

Name type Description
achievement_date_before date Return entries before date.
achievement_date_after date Return entries after date.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
has_students string Only return records that have students attached.
has_employees string Only return records that have employees attached.
mis_id string
int
Return records with the provided MIS_ID.
Name Relationship
students many
employees many

POST Achievements

Curl example
curl -X POST -H "Authorization: Basic API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "students": [
        {
            "student_id" : "A1849765024",
            "points": 200,
            "award" : "TROP",
            "award_date" : "2016-04-04"
        },
        {
            "student_id" : "A1682292795",
            "points": 200,
            "award" : "CERT",
            "award_date" : "2016-04-04"
        }
    ],
    "employee_id": "A1329183376",
    "lesson_id": "A6357932393",
    "date": "2016-04-01",
    "type": "NYPA",
    "comment": "A4",
    "activity_type": "RE"
}' "https://api.wonde.com/v1.0/schools/{school_id}/achievements"

To create an achievement record, send a JSON encoded POST request to /v1.0/schools/{school_id}/achievements.

Request body

Request Body
{
    "students": [
        {
            "student_id" : "A1849765024",
            "points": 200,
            "award" : "TROP",
            "award_date" : "2016-04-04"
        },
                {
            "student_id" : "A1682292795",
            "points": 200,
            "award" : "CERT",
            "award_date" : "2016-04-04"
        }
    ],
    "employee_id": "A1329183376",
    "lesson_id": "A6357932393",
    "date": "2016-04-01",
    "type": "NYPA",
    "comment": "A4",
    "activity_type": "RE"
}

An example of the request body is provided on the right.
The attribute values that must be set successfully to create achievement records are:

Name type Required Description
students array Yes
students > student_id string Yes The Wonde ID of a student.
students > award string No The code or ID of the award given in response to the achievement.
See behaviour attributes ACHIEVEMENT_OUTCOME.
students > award_date string No The date the associated to the award.
students > points integer Yes The amount of points associated to the achievement.
Points indicate the level of the achievement.
employee_id string Yes The Wonde ID of the employee that recorded the incident.
lesson_id string No The Wonde ID of the lesson that the incident occured in.
date string Yes The date of the incident.
type string Yes The code or ID of the achievement type.
See achievement attributes ACHIEVEMENT_TYPE.
comment string No Short text note.
activity_type string No The code or ID of the activity.
See achievement attributes EVENT_SUBJECT.

PUT Achievements

Curl example
curl -X PUT -H "Authorization: Basic API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "students": [
        {
            "student_id" : "A1849765024",
            "points": 200,
            "award" : "TROP",
            "award_date" : "2016-04-04"
        },
        {
            "student_id" : "A1682292795",
            "points": 200,
            "award" : "CERT",
            "award_date" : "2016-04-04"
        }
    ],
    "employee_id": "A1329183376",
    "lesson_id": "A6357932393",
    "date": "2016-04-01",
    "type": "NYPA",
    "comment": "A4",
    "activity_type": "RE"
}' "https://api.wonde.com/v1.0/schools/{school_id}/achievements/{achievement_id}"

To edit an achievement record, send a JSON encoded PUT request to /v1.0/schools/{school_id}/achievements/{achievement_id}.

Request body

Request Body
{
    "students": [
        {
            "student_id" : "A1849765024",
            "points": 200,
            "award" : "TROP",
            "award_date" : "2016-04-04"
        },
                {
            "student_id" : "A1682292795",
            "points": 200,
            "award" : "CERT",
            "award_date" : "2016-04-04"
        }
    ],
    "employee_id": "A1329183376",
    "lesson_id": "A6357932393",
    "date": "2016-04-01",
    "type": "NYPA",
    "comment": "A4",
    "activity_type": "RE"
}

An example of the request body is provided on the right.
The attribute values that must be set successfully to edit achievement records are:

Name type Required Description
students array Yes Note: Bromcom requires a single student to be present in this array.
students > student_id string Yes The Wonde ID of a student.
students > award string No The code or ID of the award given in response to the achievement.
See behaviour attributes ACHIEVEMENT_OUTCOME.
students > award_date string No The date the associated to the award.
students > points integer Yes The amount of points associated to the achievement.
Points indicate the level of the achievement.
employee_id string Yes The Wonde ID of the employee that recorded the incident.
lesson_id string No The Wonde ID of the lesson that the incident occured in.
date string Yes The date of the incident.
type string Yes The code or ID of the achievement type.
See achievement attributes ACHIEVEMENT_TYPE.
comment string No Short text note.
activity_type string No The code or ID of the activity.
See achievement attributes EVENT_SUBJECT.

DELETE Achievement

Curl example
curl -X "DELETE" "https://api.wonde.com/v1.0/schools/{school_id}/achievements/{achievement_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

You need the achievement delete permission to perform this action.

To delete a achievement record just send a delete request to achievement item's url.

Achievement Object

Response Body
{
    "id": "A408720213",
    "mis_id": "1015",
    "type": "Musical Activity",
    "action": null,
    "subject": "Music",
    "class": "7A/Music",
    "points": 10,
    "total_points": 100,
    "comment": "Excellent effort in the school band performance at lunchtime",
    "parents_notified": true,
    "achievement_date": {
        "date": "2015-01-09 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "action_date": {
        "date": "2015-01-09 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "recorded_date": {
        "date": "2015-01-09 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "created_at": {
        "date": "2016-03-15 11:08:26.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-03-15 11:08:26.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the achievement read permission to view this object.


Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
type string
nullable
The type of achievement.
action string
nullable
The action taken in response to the achievement.
subject string
nullable
The subject during which the achievement occurred.
class string
nullable
The class in which the achievement occurred.
points integer
nullable
The amount of points associated to the incident.
Points indicate the severity of the event.
total_points integer
nullable
The total amount of points associated to the incident.
comment string
nullable
Short text note.
parents_notified boolean
nullable
Boolean indicating if the parent has been notified of the achievement.
achievement_date datetime
nullable
The date of the achievement.
action_date datetime
nullable
The date the action took place.
recorded_date datetime
nullable
The date the incident was recorded.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Achievement Attributes

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/achievements/attributes"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A510231222",
            "mis_id": "13",
            "type": "EVENT_SUBJECT",
            "code": "ART",
            "active": true,
            "points": null,
            "description": "Art",
            "bullying_type_enabled": false,
            "created_at": {
                "date": "2016-03-16 15:23:42.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-03-17 15:01:40.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1741747977",
            "mis_id": "11",
            "type": "ACHIEVEMENT_TYPE",
            "code": "ACAD",
            "active": false,
            "points": 1,
            "description": "Academic",
            "bullying_type_enabled": false,
            "created_at": {
                "date": "2016-03-17 14:59:18.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-03-24 09:39:22.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/achievements/attributes?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

You need the achievement read permission to view this resource.

In SIMS, achievement records are made from multiple select box values. To make it easy to update achievement records, we provide the possible options for these select boxes. When updating / creating a achievement record you can provide the CODE or the ID for the select box value.

It is important that you check the code is valid for a school as missing or disabled codes will not pass Wonde's validation.

Type Information / Examples
ACHIEVEMENT_TYPE This is the achievement category.
Some achievement types will have points associated to them.

Example: GOL = Gold Award
EVENT_SUBJECT The activity / subject in which the incident took place.

Example: ENG = English
ACHIEVEMENT_OUTCOME The action taken as a result of the achievement.

Example: MEP = Merit Points

Assessment

The following diagram shows how assessment (green) and non-assessment (red) objects relate to each other.

GET Aspects

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/assessment/aspects"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}/assessment/aspects/{aspect_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A729555890",
            "mis_id": 25,
            "name": "AQA 2600H Forecast Grade F",
            "type": "Grade",
            "description": "Forecast Grade for AQA 2600H Seg Science:Single Award  (H)",
            "min_value": null,
            "max_value": null,
            "created_at": {
                "date": "2016-07-05 21:09:39.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-07-05 21:09:39.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/assessment/aspects?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "templates"
            "results"
        ]
    }
}

Url parameters

Name type Description
aspect_ids string Only return aspects included in comma separated list of ids.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
templates many
results many

GET Results

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/assessment/results"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}/assessment/results/{result_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A2059689699",
            "mis_id": 359965,
            "result": "B",
            "grade_value": "15.00",
            "student": "A1548440551",
            "aspect": "A988848411",
            "resultset": "A2103671698",
            "collection_date": {
                "date": "2009-06-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "result_date": {
                "date": "2009-06-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "created_at": {
                "date": "2016-07-06 14:52:19.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-07-06 14:52:19.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/assessment/results?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "aspect",
            "resultset",
            "student",
            "student_leaver"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
has_student string Return rows that belong to active students.
has_student_leaver string Return rows that belong to student leavers. Not enabled by default, please contact [email protected] to check availability for your schools.
Name Relationship
aspect many
resultset many
student many
student leaver many

GET Result Sets

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/assessment/resultsets"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}/assessment/resultsets/{result_set_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1843063594",
            "mis_id": 56,
            "name": "Year 11",
            "module": "Assessment Services",
            "source": "User-defined",
            "supplier": null,
            "external_id": "56",
            "locked": false,
            "start_date": null,
            "end_date": null,
            "created_at": {
                "date": "2016-07-06 14:32:40.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-07-06 15:22:35.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/assessment/resultsets?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "templates"
            "results"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
templates many
results many

GET Templates

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/assessment/templates"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}/assessment/templates/{template_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A2075337403",
            "mis_id": 1146,
            "name": "GCSE Mock Exam Grades",
            "description": null,
            "source": "User-defined",
            "external_id": "742",
            "created_at": {
                "date": "2016-07-05 21:10:05.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-07-05 21:10:05.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/assessment/templates?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "aspects",
            "marksheets",
            "resultsets"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
aspects many
resultsets many
marksheets many

GET Mark Sheets

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/assessment/marksheets"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

curl "https://api.wonde.com/v1.0/schools/{school_id}/assessment/marksheets/{mark_sheet_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1749191433",
            "mis_id": 7756,
            "name": "* Science Year 7 Attainment Data Entry:Science (KStg3)",
            "group": "A617633051",
            "template": "A459873099",
            "class": null
        },
        {
            "id": "A1849765024",
            "mis_id": 7757,
            "name": "* Science Year 7 Attainment Data Entry:7F/Sc",
            "group": null,
            "template": "A459873099",
            "class": "A1883262536"
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/assessment/marksheets?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "template",
            "group",
            "class"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
template many
group many
class many

Aspect Object

Response Body
{
    "id": "A729555890",
    "mis_id": 25,
    "name": "AQA 2600H Forecast Grade F",
    "type": "Grade",
    "description": "Forecast Grade for AQA 2600H Seg Science:Single Award  (H)",
    "min_value": null,
    "max_value": null,
    "created_at": {
        "date": "2016-07-05 21:09:39.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-07-05 21:09:39.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the assessment read permission to view this object.



Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
name string Aspect name.
description string
nullable
Aspect description.
type string
nullable
min_value date
nullable
max_value date
nullable
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Result Object

Response Body
{
    "id": "A2059689699",
    "mis_id": 359965,
    "result": "B",
    "grade_value": "15.00",
    "student": "A1548440551",
    "aspect": "A988848411",
    "resultset": "A2103671698",
    "collection_date": {
        "date": "2009-06-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "result_date": {
        "date": "2009-06-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "created_at": {
        "date": "2016-07-06 14:52:19.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-07-06 14:52:19.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the assessment read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
result string The result value.
grade_value string The grade value for this result.
student string
object
Student's ID or student object.
aspect string
object
Aspect's ID or aspect object.
resultset string
object
nullable
Result set's ID or result set object.
collection_date date
nullable
When the result was collected.
result_date date
nullable
The date the of the result.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Result Set Object

Response Body
{
    "id": "A1843063594",
    "mis_id": 56,
    "name": "Year 11",
    "module": "Assessment Services",
    "source": "User-defined",
    "supplier": null,
    "external_id": "56",
    "locked": false,
    "start_date": null,
    "end_date": null,
    "created_at": {
        "date": "2016-07-06 14:32:40.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-07-06 15:22:35.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the assessment read permission to view this object.



Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
name string Result set name.
module string
nullable
source string
nullable
supplier string
nullable
external_id string
nullable
locked boolean
nullable
start_date datetime
nullable
end_date datetime
nullable
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Template Object

Response Body
{
    "id": "A2075337403",
    "mis_id": 1146,
    "name": "GCSE Mock Exam Grades",
    "description": null,
    "source": "User-defined",
    "external_id": "742",
    "created_at": {
        "date": "2016-07-05 21:10:05.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-07-05 21:10:05.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the assessment read permission to view this object.



Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
name string Template name.
description string
nullable
Template description.
source string
nullable
external_id string
nullable
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Mark Sheet Object

Response Body
{
    "id": "A1849765024",
    "mis_id": 7757,
    "name": "* Science Year 7 Attainment Data Entry:7F/Sc",
    "group": null,
    "template": "A459873099",
    "class": "A1883262536"
}

You need the assessment read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
name string The name of the mark sheet.
group string
object
nullable
The group this mark sheet is attached to.
class string
object
nullable
The class this mark sheet is attached to.
template string
object
nullable
The template this mark sheet is attached to.

Attendance

GET Session Attendance

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance/session"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A475458937",
            "date": {
                "date": "2015-10-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "session": "PM",
            "comment": null,
            "employee": null,
            "attendance_code": "A930902628",
            "student": "A1307078120"
        },
        {
            "id": "A106056174",
            "date": {
                "date": "2015-10-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "session": "PM",
            "comment": "Student was ill",
            "employee": null,
            "attendance_code": "A930902628",
            "student": "A938854481"
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/attendance/session/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": []
    }
}

Url parameters

Name type Description
attendance_date_before date Return entries before date.
attendance_date_after date Return entries after date.
student id Return rows for a student.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.

POST Session Attendance

Curl example
curl -X POST -H "Authorization: Bearer API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "attendance": [
        {
            "student_id": "A1849765024",
            "attendance_code_id": "A1329183376",
            "date": "2015-12-09",
            "session": "AM",
            "comment": "Student was late"
        }
    ]}' "https://api.wonde.com/v1.0/schools/{school_id}/attendance/session"

When writing back attendance to a school’s MIS there are a few points you need to take into account:

Request body

Request Body
{
     "attendance": [
         {
             "student_id": "A960618364",
             "date": "2015-12-14",
             "session": "AM",
             "attendance_code_id": "A1329183376"
         },
         {
             "student_id": "A960618364",
             "date": "2015-12-14",
             "session": "PM",
             "attendance_code_id": "A1161584171"
         }
     ]
 }

To change attendance marks, send a JSON encoded POST request to /v1.0/schools/{school_id}/attendance/session.

An example of the request body is provided on the right.
The attribute values that must be set successfully to modify attendance marks are:

Name type Required Description
student_id string Yes The Wonde ID for the student.
date string Yes The attendance mark’s date.
session string Yes The attendance mark’s session. (AM or PM).
attendance_code_id string Yes The Wonde ID for the attendance code or subcode.
comment string
nullable
No Text comment. Emoji characters are not currently supported for this attribute.
minutes_late number No Minutes the student was late for registration.
employee_id string No The Wonde ID for the employee. (This is required for Bromcom, Department of Education Western Australia and SchoolBase).

Response body

Response Body
{
  "writeback_id": "A18002453"
}

If your request fails validation the response will contain the validation errors. If your request passes validation you will receive a writeback_id which can be used to check the status of the writeback.

GET Session Leavers Attendance

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance-leavers/session"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A475458937",
            "date": {
                "date": "2015-10-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "session": "PM",
            "comment": null,
            "employee": null,
            "attendance_code": "A930902628",
            "student": "A1307078120"
        },
        {
            "id": "A106056174",
            "date": {
                "date": "2015-10-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "session": "PM",
            "comment": "Student was ill",
            "employee": null,
            "attendance_code": "A930902628",
            "student": "A938854481"
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/attendance-leavers/session/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": []
    }
}

Url parameters

Name type Description
attendance_date_before date Return entries before date.
attendance_date_after date Return entries after date.
student id Return rows for a student.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.

Session Attendance Object

Response Body
{
    "id": "A106056174",
    "date": {
        "date": "2015-10-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "session": "PM",
    "employee": null,
    "attendance_code": "A930902628",
    "student": "A938854481"
}

You need the attendance read permission to view this object.

Name Type Description
id string The ID of the object.
date date The date of the attendance mark.
comment string
nullable
Short text note.
session string Possible values:
  • AM
  • PM
employee string
nullable
The ID of the employee that entered the mark.
attendance_code string The ID of the mark. See attendance codes.
student string The student the mark belongs to.

GET Lesson Attendance

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance/lesson"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1964735203",
            "date": {
                "date": "2016-01-15 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe\/London"
            },
            "period_instance_id": 40735,
            "comment": null,
            "attendance_code": "A1329183376",
            "student": "A1329183376"
        },
        {
            "id": "A2133121352",
            "date": {
                "date": "2016-01-15 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe\/London"
            },
            "period_instance_id": 40734,
            "comment": "Went home ill",
            "attendance_code": "A1329183376",
            "student": "A1329183376"
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/A1329183376/attendance/lesson?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        }
    }
}

Url parameters

Name type Description
attendance_date_before date Return entries before date.
attendance_date_after date Return entries after date.
student id Return rows for a student.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.

POST Lesson Attendance

Curl example
curl -X POST -H "Authorization: Bearer API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "attendance": [
        {
            "student_id": "A1905879176",
            "lesson_id": "A1052845378",
            "attendance_code_id": "A1329183376"
        }
    ]}' "https://api.wonde.com/v1.0/schools/{school_id}/attendance/lesson"

When writing back attendance to a school’s MIS there are a few points you need to take into account:

Request body

Request Body
{
    "attendance": [
        {
            "student_id": "A1905879176",
            "lesson_id": "A1052845378",
            "attendance_code_id": "A1329183376"
        },
        {
            "student_id": "A1905879176",
            "lesson_id": "A312724695",
            "attendance_code_id": "A1964735203"
        }
    ]
}

To change attendance marks, send a JSON encoded POST request to /v1.0/schools/{school_id}/attendance/lesson.

An example of the request body is provided on the right.
The attribute values that must be set successfully to modify attendance marks are:

Name type Required Description
student_id string Yes The Wonde ID for the student.
lesson_id string Yes The Wonde ID for the lesson.
attendance_code_id string Yes The Wonde ID for the attendance code.
comment string
nullable
No Text comment.
minutes_late number No Minutes the student was late for registration.

Response body

Response Body
{
  "writeback_id": "A18002453"
}

If your request fails validation the response will contain the validation errors. If your request passes validation you will receive a writeback_id which can be used to check the status of the writeback.

Lesson Attendance Object

Response Body
{
    "id": "A1964735203",
    "date": {
        "date": "2016-01-15 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe\/London"
    },
    "period_instance_id": 40735,
    "comment": null,
    "attendance_code": "A1329183376",
    "student": "A1329183376"
}

You need the attendance read permission to view this object.

Name Type Description
id string The ID of the object.
date date The date of the attendance mark.
period_instance_id int
nullable
All lessons happening during the same period have the same period_instance_id. This value can be used to match lessons and attendance as SIMS records a mark for a period instance not a lesson instance.
comment string
nullable
Short text note.
attendance_code string The ID of the mark. See attendance codes.
student string The student the mark belongs to.

Attendance Codes

GET Attendance Codes (DfE)

Curl example
curl "https://api.wonde.com/v1.0/attendance-codes"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "code": "/",
            "description": "Present (AM)",
            "type": "PRESENT",
            "parent_code": null
        },
        {
            "id": "A1529934786",
            "code": "B",
            "description": "Educated off site",
            "type": "PRESENT",
            "parent_code": null
        }
    ]
}

GET Attendance Codes

Some schools, particularly international schools, may use their own Attendance Codes rather than the DfE dictated list.

If the school does not have custom Attendance Codes this endpoint will return DfE Attendance Codes.

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance-codes"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1109295446",
            "code":"S",
            "description": "Staying home for other reasons",
            "type": "AUTHORISED",
            "parent_code": "X"
        },
        {
            "id": "A1478304481 ",
            "code": "UA",
            "description": "Unauthorised absence",
            "type": "UNAUTHORISED",
            "parent_code": "X"
        }
    ]
}

Attendance Code Object

Response Body
{
    "id": "A1529934786",
    "code": "B",
    "description": "Educated off site",
    "type": "PRESENT",
    "parent_code": null
}

Name Type Description
id string The ID of the object.
code string
description string
type string Possible values:
  • PRESENT
  • AUTHORISED
  • VOID
  • UNAUTHORISED
parent_code string
nullable
Present if the code maps to a preset defined by local authority

Attendance Summaries

GET Attendance Summaries

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance-summaries"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance-summaries/{summary_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "student_id": "A1329183376",
            "authorised_absences": 0,
            "unauthorized_absences": 0,
            "unexplained_absences": 0,
            "late_before_registration": 0,
            "late_after_registration": 0,
            "possible_marks": 74,
            "missing_marks": 0,
            "attendance_not_required": 42,
            "present": 74,
            "approved_education_activity": 0,
            "created_at": {
                "date": "2015-10-29 10:32:22.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 10:32:22.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1161584171",
            "student_id": "A1161584171",
            "authorised_absences": 10,
            "unauthorized_absences": 0,
            "unexplained_absences": 0,
            "late_before_registration": 0,
            "late_after_registration": 0,
            "possible_marks": 74,
            "missing_marks": 0,
            "attendance_not_required": 42,
            "present": 64,
            "approved_education_activity": 0,
            "created_at": {
                "date": "2015-10-29 10:32:22.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 10:32:22.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/attendance-summaries/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "student"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
student one

Attendance Summary Object

Response Body
{
    "id": "A1161584171",
    "student_id": "A1161584171",
    "authorised_absences": 10,
    "unauthorized_absences": 0,
    "unexplained_absences": 0,
    "late_before_registration": 0,
    "late_after_registration": 0,
    "possible_marks": 74,
    "missing_marks": 0,
    "attendance_not_required": 42,
    "present": 64,
    "approved_education_activity": 0,
    "attendance_codes": {
            "\/": 32,
            "\\": 32,
            "#": 0,
            "B": 0,
            "C": 0,
            "D": 0,
            "E": 0,
            "F": 0,
            "G": 0,
            "H": 0,
            "I": 10,
            "J": 0,
            "L": 0,
            "M": 0,
            "N": 0,
            "O": 0,
            "P": 0,
            "R": 0,
            "S": 0,
            "T": 0,
            "U": 0,
            "V": 0,
            "W": 0,
            "X": 0,
            "Y": 0,
            "Z": 0,
            "-": 0
    },
    "created_at": {
    "date": "2015-10-29 10:32:22.000000",
    "timezone_type": 3,
    "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 10:32:22.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the attendance read permission to view this object.

Name Type Description
id string The ID of the object.
student_id string The student’s ID in the MIS.
authorised_absences integer The number of authorised absences.
unauthorized_absences integer The number of unauthorised absences.
unexplained_absences integer The number of unexplained absences.
late_before_registration integer The number of late before registrations marks.
late_after_registration datetime The number of late after registrations marks.
possible_marks integer
nullable
The number of possible marks.
missing_marks integer
nullable
The number of missing marks.
attendance_not_required integer The number of attendance not required marks.
present integer The number of present marks.
approved_education_activity integer The number of approved education activity marks.
attendance_codes object An object where a key is the attendance code and the value is the number of occurrences.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Behaviours

GET Behaviours

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/behaviours"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/behaviours/{behaviour_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "mis_id": "263",
            "type": "Homework Issue",
            "location": "Science",
            "subject": "Science",
            "class": "7A/Science",
            "status": "Resolved",
            "action": "Lunchtime Detention",
            "points": 1,
            "total_points": 10,
            "comment": "Despite previous warnings, one of five students who still have significant homework from two weeks ago still outstanding.",
            "parents_notified": false,
            "bullying_type": "Bullying-Intimidation",
            "incident_date": {
                "date": "2009-04-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "action_date": {
                "date": "2009-05-01 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "recorded_date": {
                "date": "2009-04-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "created_at": {
                "date": "2016-03-15 11:08:55.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-03-15 11:08:55.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1161584171",
            "mis_id": "264",
            "type": "Disruptive Behaviour in Class",
            "location": "Art",
            "subject": "Art",
            "class": "7A/Art",
            "status": "Resolved",
            "action": "Written Punishment",
            "points": 1,
            "comment": "Repeatedly off task and talking in class.",
            "parents_notified": false,
            "bullying_type": "Bullying-Intimidation",
            "incident_date": {
                "date": "2009-05-06 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "action_date": {
                "date": "2009-05-06 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "recorded_date": {
                "date": "2009-05-06 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "created_at": {
                "date": "2016-03-15 11:08:55.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-03-15 11:08:55.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/A1329183376/behaviours?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "students",
            "employees"
        ]
    }
}

Url parameters

Name type Description
incident_date_before date Return entries before date.
incident_date_after date Return entries after date.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
has_students string Only return records that have students attached.
has_employees string Only return records that have employees attached.
mis_id string
int
Return records with the provided MIS_ID.
Name Relationship
students many
employees many

POST Behaviour

Curl example
curl -X POST -H "Authorization: Bearer API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "students": [
        {
            "student_id": "A1849765024",
            "role": "AG",
            "action": "COOL",
            "action_date": "2016-04-01",
            "points": 200
        },
        {
            "student_id": "A1682292795",
            "role": "TA",
            "points": 0
        }
    ],
    "employee_id": "A1329183376",
    "lesson_id": "A6357932393",
    "date": "2016-03-31",
    "status": "REV2",
    "type": "BULL",
    "bullying_type": "B_INT",
    "comment": "Bulling incident",
    "activity_type": "RE",
    "location": "CORR",
    "time": "LUN"
}' "https://api.wonde.com/v1.0/schools/{school_id}/behaviours"

To create a behaviour record, send a JSON encoded POST request to /v1.0/schools/{school_id}/behaviours.

Request body

Request Body
{
    "students": [
        {
            "student_id": "A1849765024",
            "role": "AG",
            "action": "COOL",
            "action_date": "2016-04-01",
            "points": 200
        },
        {
            "student_id": "A1682292795",
            "role": "TA",
            "points": 0
        }
    ],
    "employee_id": "A1329183376",
    "lesson_id": "A6357932393",
    "date": "2016-03-31",
    "status": "REV2",
    "type": "BULL",
    "bullying_type": "B_INT",
    "comment": "Bulling incident",
    "activity_type": "RE",
    "location": "CORR",
    "time": "LUN"
}

An example of the request body is provided on the right.
The attribute values that must be set successfully to create behaviour records are:

Name type Required Description
students array Yes
students > student_id string Yes The Wonde ID of a student.
students > role string no The code or ID of the role the student took in the incident.
See behaviour attributes BEHAVIOUR_ROLE.
students > action string No The code or ID of the action taken in response to the incident.
See behaviour attributes BEHAVIOUR_OUTCOME.
students > action_date string No The date the associated to the action.
students > points integer Yes The amount of points associated to the incident.
Points indicate the severity of the event.
employee_id string Yes The Wonde ID of the employee that recorded the incident.
lesson_id string No The Wonde ID of the lesson that the incident occured in.
date string Yes The date of the incident.
status string Yes The code or ID of the status.
See behaviour attributes EVENT_STATUS.
type string Yes The code or ID of the behaviour type.
See behaviour attributes BEHAVIOUR_TYPE.
bullying_type string No The code or ID of the bullying type.
See behaviour attributes BULLYING_MODE.
comment string No Short text note.
activity_type string No The code or ID of the activity.
See behaviour attributes BEHAVIOUR_ACTIVITY.
location string No The code or ID of the location.
See behaviour attributes EVENT_LOCATION.
time string No The code or ID of the time.
See behaviour attributes EVENT_TIME.

PUT Behaviour

Curl example
curl -X PUT -H "Authorization: Bearer API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "students": [
        {
            "student_id": "A1849765024",
            "role": "AG",
            "action": "COOL",
            "action_date": "2016-04-01",
            "points": 200
        },
        {
            "student_id": "A1682292795",
            "role": "TA",
            "points": 0
        }
    ],
    "employee_id": "A1329183376",
    "lesson_id": "A6357932393",
    "date": "2016-03-31",
    "status": "REV2",
    "type": "BULL",
    "bullying_type": "B_INT",
    "comment": "Bulling incident",
    "activity_type": "RE",
    "location": "CORR",
    "time": "LUN"
}' "https://api.wonde.com/v1.0/schools/{school_id}/behaviours/{behaviour_id}"

To edit a behaviour record, send a JSON encoded PUT request to /v1.0/schools/{school_id}/behaviours/{behaviour_id}.

Request body

Request Body
{
    "students": [
        {
            "student_id": "A1849765024",
            "role": "AG",
            "action": "COOL",
            "action_date": "2016-04-01",
            "points": 200
        },
        {
            "student_id": "A1682292795",
            "role": "TA",
            "points": 0
        }
    ],
    "employee_id": "A1329183376",
    "lesson_id": "A6357932393",
    "date": "2016-03-31",
    "status": "REV2",
    "type": "BULL",
    "bullying_type": "B_INT",
    "comment": "Bulling incident",
    "activity_type": "RE",
    "location": "CORR",
    "time": "LUN"
}

An example of the request body is provided on the right.
The attribute values that must be set successfully to edit behaviour records are:

Name type Required Description
students array Yes Note: Bromcom requires a single student to be present in this array.
students > student_id string Yes The Wonde ID of a student.
students > role string no The code or ID of the role the student took in the incident.
See behaviour attributes BEHAVIOUR_ROLE.
students > action string No The code or ID of the action taken in response to the incident.
See behaviour attributes BEHAVIOUR_OUTCOME.
students > action_date string No The date the associated to the action.
students > points integer Yes The amount of points associated to the incident.
Points indicate the severity of the event.
employee_id string Yes The Wonde ID of the employee that recorded the incident.
lesson_id string No The Wonde ID of the lesson that the incident occured in.
date string Yes The date of the incident.
status string Yes The code or ID of the status.
See behaviour attributes EVENT_STATUS.
type string Yes The code or ID of the behaviour type.
See behaviour attributes BEHAVIOUR_TYPE.
bullying_type string No The code or ID of the bullying type.
See behaviour attributes BULLYING_MODE.
comment string No Short text note.
activity_type string No The code or ID of the activity.
See behaviour attributes BEHAVIOUR_ACTIVITY.
location string No The code or ID of the location.
See behaviour attributes EVENT_LOCATION.
time string No The code or ID of the time.
See behaviour attributes EVENT_TIME.

DELETE Behaviour

Curl example
curl -X "DELETE" "https://api.wonde.com/v1.0/schools/{school_id}/behaviours/{behaviour_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

You need the behaviour delete permission to perform this action.

To delete a behaviour record just send a delete request to behaviour item's url.

Behaviour Object

Response Body
{
    "id": "A1329183376",
    "mis_id": "263",
    "type": "Homework Issue",
    "location": "Science",
    "subject": "Science",
    "class": "7A/Science",
    "status": "Resolved",
    "action": "Lunchtime Detention",
    "points": 1,
    "total_points": 10,
    "comment": "Despite previous warnings, one of five students who still have significant homework from two weeks ago still outstanding.",
    "parents_notified": false,
    "bullying_type": "Bullying-Intimidation",
    "incident_date": {
        "date": "2009-04-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "action_date": {
        "date": "2009-05-01 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "recorded_date": {
        "date": "2009-04-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "created_at": {
        "date": "2016-03-15 11:08:55.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-03-15 11:08:55.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the behaviour read permission to view this object.


Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
type string
nullable
The type of behaviour incident.
See behaviour attributes BEHAVIOUR_TYPE.
location string
nullable
The location of the incident.
See behaviour attributes EVENT_LOCATION.
subject string
nullable
The subject during which the incident occurred.
class string
nullable
The class in which the incident occurred.
status string
nullable
The status of the incident.
See behaviour attributes EVENT_STATUS.
action string
nullable
The action taken in response to the incident.
See behaviour attributes BEHAVIOUR_OUTCOME.
points integer
nullable
The amount of points associated to the incident.
Points indicate the severity of the event.
total_points integer
nullable
The total amount of points associated to the incident.
comment string
nullable
Short text note.
parents_notified boolean
nullable
Boolean indicating if a parent has been notified of the incident.
bullying_type string
nullable
Bullying type.
See behaviour attributes BEHAVIOUR_MODE.
incident_date string
nullable
The date the incident took place.
action_date datetime
nullable
The date action was taken.
recorded_date datetime
nullable
The date the incident was recorded.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Behaviour Attributes

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/behaviours/attributes"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A587541588",
            "mis_id": "26",
            "type": "BEHAVIOUR_TYPE",
            "code": "BULL",
            "active": true,
            "points": 50,
            "description": "Bullying",
            "bullying_type_enabled": true,
            "created_at": {
                "date": "2016-03-16 15:23:42.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-03-24 09:39:11.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1346550315",
            "mis_id": "22",
            "type": "EVENT_SUBJECT",
            "code": "SCI",
            "active": true,
            "points": null,
            "description": "Science",
            "bullying_type_enabled": false,
            "created_at": {
                "date": "2016-03-16 15:23:42.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-03-17 15:01:40.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/behaviours/attributes?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

You need the behaviour read permission to view this resource.

In SIMS, behaviour records are made from multiple select box values. To make it easy to update behaviour records, we provide the possible options for these select boxes. When updating / creating a behaviour record you can provide the CODE or the ID for the select box value.

It is important that you check the code is valid for a school as missing or disabled codes will not pass Wonde's validation.

Type Information / Examples
BEHAVIOUR_TYPE This is the behaviour category.
Some behaviour types will have points associated to them.
bullying_type_enabled indicates if a bullying mode is applicable for this behaviour type. See BULLYING_MODE below.

Example: BULL = Bullying
BULLYING_MODE This is a sub-category of BEHAVIOUR_TYPE.
This is only available for certain behaviour types.

Example: PHY = Physical Violence
BEHAVIOUR_ACTIVITY The activity / subject in which the incident took place.

Example: ENG = English
EVENT_TIME A named period of time during which the incident took place.

Example: LESS1 = Lesson 2
Example: LESS2 = Lesson 2
Example: BSHRS = Before School Hours
BEHAVIOUR_OUTCOME The action taken as a result of the incident.

Example: PARL = Letter to Parent/Guardian
EVENT_STATUS The status of the incident.

Example: REV3 = Review in 3 weeks
Example: FUT = Further Intervention Required
EVENT_LOCATION Where the incident took place.

Example: OSG = Outside School
Example: SPORT = Gym/Sports Hall/Pool
BEHAVIOUR_ROLE The role a student took in the incident.

Example: TA = Target
Example: AG = Aggressor

Classes

GET Classes

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/classes"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/classes/{class_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "mis_id": "8925",
            "name": "10A/Ar1",
            "code": "10A/Ar1",
            "description": "10A/Ar1",
            "subject": null,
            "alternative": false,
            "priority": false,
            "academic_year": 2023,
            "year_group": "10",
            "restored_at": {
                "date": "2015-10-29 14:53:59.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-29 14:53:59.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:53:59.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1161584171",
            "mis_id": "8926",
            "name": "10A/Dc1",
            "code": "10A/Dc1",
            "description": "10A/Dc1",
            "subject": null,
            "alternative": false,
            "priority": true,
            "academic_year": null,
            "year_group": null,
            "restored_at": {
                "date": "2015-10-29 14:53:59.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-29 14:53:59.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:53:59.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/classes/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "subject",
            "students",
            "employees",
            "lessons",
            "lessons.room",
            "lessons.period"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
has_students any Only get classes that have students.
has_lessons any Only get classes that have lessons.
class_name String Return results with the provided class name.
class_subject String Return results with the provided subject id.
Name Relationship
subject one
students many
students.contact_details many > one
students.education_details many > one
students.extended_details many > one
students.house many > one
students.registration many > one
students.year many > one
students.boarding many > one
students.campus many > one
employees many
employees.contact_details many > one
employees.employment_details many > one
employees.extended_details many > one
lessons many
lessons.room many > one
lessons.period many > one

Class Object

Response Body
{
    "id": "A1329183376",
    "mis_id": "8925",
    "name": "10A/Ar1",
    "code": "10A/Ar1",
    "description": "10A/Ar1",
    "subject": null,
    "alternative": false,
    "priority": false,
    "academic_year": 2023,
    "year_group": "10",
    "restored_at": {
        "date": "2015-10-29 14:53:59.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "created_at": {
        "date": "2015-10-29 14:53:59.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 14:53:59.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the classes read permission to view this object.




Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
name string Class name.
code string Class code.
description string
nullable
Class description.
subject string
object
nullable
The subject for the class.
alternative boolean
nullable
The class is an alternative to another class.
priority boolean
nullable
The class is a priority to another class. This is supported in Edval and Timetabling Solutions data sync only.
academic_year string
nullable
The academic year of the class. This is supported in SIMS, Edumate API and Synergetic data sync only.
year_group string
nullable
The year group of the class. This is only supported in SIMS at this time.
restored_at datetime When the Wonde ID was restored from the deletions data
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Contacts

GET Contacts

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/contacts"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/contacts/{contact_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1139736963",
            "mis_id": "9920",
            "upi": "1e6ac4ab8c7a8514b1faaeb5ad097d0a",
            "title": "Mrs",
            "initials": "SS",
            "surname": "Smith",
            "forename": "Sally",
            "middle_names": null,
            "legal_surname": "Smith",
            "legal_forename": "Sally",
            "gender": "FEMALE",
            "date_of_birth": null,
            "restored_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },                    
            "created_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1508091162",
            "mis_id": "9921",
            "upi": "cc7cad81fb5e2b5a1dee37e03177ce46",
            "initials": "TS",
            "title": "Mr",
            "surname": "Smith",
            "forename": "Tom",
            "middle_names": null,
            "legal_surname": "Smith",
            "legal_forename": "Tom",
            "gender": "MALE",
            "date_of_birth": null,
            "restored_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },                    
            "created_at": {
                "date": "2015-10-29 14:53:45.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:53:45.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/contacts/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "contact_details",
            "students",
            "students_pre_admission"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
only_mis_ids string Filter MIS ids by comma separated list.
Name Relationship
contact_details one
students many
students_pre_admission many
identifiers one

Contact Object

Response Body
{
    "id": "A1508091162",
    "mis_id": "9921",
    "upi": "cc7cad81fb5e2b5a1dee37e03177ce46",
    "title": "Mr",
    "initials": "ST",
    "surname": "Smith",
    "forename": "Tom",
    "middle_names": null,
    "legal_surname": "Smith",
    "legal_forename": "Tom",
    "gender": "MALE",
    "date_of_birth": null,
    "restored_at": {
        "date": "2015-10-29 14:53:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "created_at": {
        "date": "2015-10-29 14:53:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 14:53:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the contacts read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The contact’s ID in the MIS.
upi string Unique Person Identifier - If a person is a contact and an employee they will have the same UPI but different ids.
title nullable
string
The contact’s title.
initials string
nullable
The contact’s initials.
surname string
nullable
The contact’s last name.
forename string
nullable
The contact’s first name.
middle_names nullable
string
The contact’s middle_names.
legal_surname string
nullable
The contact’s legal last name.
legal_forename string
nullable
The contact’s legal first name.
gender string The contact’s gender.
  • male
  • female
  • intersex or indeterminate
  • not stated/inadequately described
  • redacted for privacy
  • other
date_of_birth date The contact’s date of birth.
restored_at datetime When the Wonde ID was restored from the deletions data
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Relationship Object

Response Body

{
    "relationship": {
        "bill_payer":false,
        "lives_with_pupil":true,
        "email_bills":false,
        "copy_bills":false,
        "court_order":false,
        "pupil_report":false,
        "parental_responsibility":true,
        "correspondence":true,
        "email_notification":false,
        "sms_notification":false,
        "mail_notification":false,
        "push_notification":true,
        "in_touch_communication":false,
        "priority":1,
        "relationship":"Father",
        "emergency_contact":false,
        "portal_access":true
    }
}

You need the contacts read permission to view this object.

This object is included in the response when you use the contacts endpoint with the students include or the students endpoint with the contacts include.

Name Type Description
bill_payer boolean
nullable
If the contact is responsible for paying bills.
lives_with_pupil boolean
nullable
If the contact shares the same address as the student.
email_bills boolean
nullable
If the contact accepts bills through email.
copy_bills boolean
nullable
If the contact receives copies of the bill.
court_order boolean
nullable
If a court order is in place restricting access between the contact and student.
pupil_report boolean
nullable
If the contact does not live at the same address as the child, has parental responsibility and they wish to receive reports.
parental_responsibility boolean
nullable
If the contact has parental responsibility.
correspondence boolean
nullable
If the contact does not live at the same address as the child, has parental responsibility and they wish to receive correspondence.
email_notification boolean
nullable
If the contact allows correspondence by email.
sms_notification boolean
nullable
If the contact allows correspondence by SMS.
mail_notification boolean
nullable
If the contact allows correspondence by mail.
push_notification boolean
nullable
If the contact allows correspondence by mail push notification.
in_touch_communication boolean
nullable
If the contact uses the SIMS InTouch communication tool.
priority integer
nullable
The order in which to contact.
relationship string
nullable
The relationship between contact and student.
emergency_contact boolean
nullable
If the contact can act as a referral in the event of an emergency. By default, this field is set to false.
portal_access boolean
nullable
If the contact is able to do some actions for student e.g. submit absence slip in the portal. By default, this field is set to false or NULL if not supported

Contact Identifiers Object

Response Body
{
    "identifiers": {
        "data": {
            "barcode": "ADSVASW32131FE",
            "active_directory_username": "username"
        }
    }
}

You need the contact identifiers read permission to view this object.

Name Type Description
barcode string
nullable
A barcode used to identify the contact.
active_directory_username string
nullable
The active directory username used to identify the contact.

Contact Details

This object is available under the student, contact & employee endpoints.

Contact Details Object

Response Body
{
    "phones": {
        "phone": "01632211117",
        "primary": "01632211117",
        "home": "01632211117",
        "work": null,
        "mobile": null
    },
    "emails": {
        "email": "[email protected]",
        "primary": null,
        "home": null,
        "work": null
    },
    "addresses": {
        "home": {
            "house_number": "1",
            "house_name": null,
            "apartment": null,
            "street": "Lane Street",
            "district": "Kingston",
            "town": "Cambridge",
            "county": null,
            "country": "United Kingdom",
            "postcode": "CB21 7YD"
            "uprn": "100023336956"
        },
        "work": {
            "house_number": "",
            "house_name": "Dunroaming",
            "apartment": null,
            "street": "Lane Road",
            "district": "Pietown",
            "town": "Cambridge",
            "county": null,
            "country": "United Kingdom",
            "postcode": "CB21 7YA"
        },
        "postal": {
            "house_number": null,
            "house_name": null,
            "apartment": null,
            "street": null,
            "district": null,
            "town": null,
            "county": null,
            "country": null,
            "postcode": null
        }
}

Name Type Description
phones.phone string
nullable
phones.primary string
nullable
phones.home string
nullable
phones.work string
nullable
phones.mobile string
nullable
emails.email string
nullable
emails.primary string
nullable
emails.home string
nullable
emails.work string
nullable
addresses.home.house_number string
nullable
addresses.home.house_name string
nullable
addresses.home.apartment string
nullable
addresses.home.street string
nullable
addresses.home.district string
nullable
addresses.home.town string
nullable
addresses.home.county string
nullable
addresses.home.country string
nullable
addresses.home.postcode string
nullable
addresses.home.uprn string
nullable
Unique Property Reference Number (UPRN)
addresses.work.house_number string
nullable
addresses.work.house_name string
nullable
addresses.work.apartment string
nullable
addresses.work.street string
nullable
addresses.work.district string
nullable
addresses.work.town string
nullable
addresses.work.county string
nullable
addresses.work.country string
nullable
addresses.work.postcode string
nullable
addresses.postal.house_number string
nullable
addresses.postal.house_name string
nullable
addresses.postal.apartment string
nullable
addresses.postal.street string
nullable
addresses.postal.district string
nullable
addresses.postal.town string
nullable
addresses.postal.county string
nullable
addresses.postal.country string
nullable
addresses.postal.postcode string
nullable
salutation string
nullable

Debtors

GET Debtors

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/debtors"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/debtors/{debtor_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1139736963",
            "mis_id": "9920",
            "title": "Mrs",
            "forename": "Sally",
            "middle_name": null,
            "surname": "Smith",
            "gender": "Female",
            "contact_details": {
                "email": "[email protected]",
                "telephone": "01623 123123",
                "mobile_number": "Medical Centre",
                "house_number": "1",
                "house_name": null,
                "street": "High Street",
                "district": null,
                "town": "London",
                "county": null,
                "postcode": "W1 XYZ",
                "country": "United Kingdom",
            },
            "balance": 100.30,
            "created_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1139736963",
            "mis_id": "9920",
            "title": "Mrs",
            "forename": "Sally",
            "middle_name": null,
            "surname": "Smith",
            "gender": "Female",
            "contact_details": {
                "email": "[email protected]",
                "telephone": "01623 123123",
                "mobile_number": "Medical Centre",
                "house_number": "1",
                "house_name": null,
                "street": "High Street",
                "district": null,
                "town": "London",
                "county": null,
                "postcode": "W1 XYZ",
                "country": "United Kingdom",
            },
            "balance": 100.15,
            "created_at": {
                "date": "2016-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ]
}

This endpoint is currently available for Synergetic SIS school data only.

You need the debtors.read permission to view this resource.

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
students many
charges many
contact one

Debtors Object

Response Body
{
    "id": "A1139736963",
    "mis_id": "9920",
    "title": "Mrs",
    "forename": "Sally",
    "middle_name": null,
    "surname": "Smith",
    "gender": "Female",
    "contact_details": {
        "email": "[email protected]",
        "telephone": "01623 123123",
        "mobile_number": "01623 123123",
        "house_number": "1",
        "house_name": null,
        "street": "High Street",
        "district": null,
        "town": "London",
        "county": null,
        "postcode": "W1 XYZ",
        "country": "United Kingdom",
    },
    "balance": 100.15,
    "created_at": {
        "date": "2015-10-29 14:53:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 14:53:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the debtors read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The debtor’s ID in the MIS.
title string
nullable
The debtor’s title.
forename string
nullable
The debtor’s first name.
middle_names nullable
string
The debtor’s middle_names.
surname string The debtor’s last name.
gender string
nullable
The debtor’s gender.
email string
nullable
The debtor’s email.
telephone string
nullable
The debtor’s telephone.
mobile_number string
nullable
The debtor’s mobile number.
house_number string
nullable
The debtor’s house number.
house_name string
nullable
The debtor’s house name.
street string
nullable
The debtor’s street.
district string
nullable
The debtor’s district.
town string
nullable
The debtor’s town.
county string
nullable
The debtor’s county.
postcode string
nullable
The debtor’s postcode.
country string
nullable
The debtor’s country.
balance decimal The debtor’s billing balance.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

GET Debtor's Charges

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/debtor-charges"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/debtor-charges/{debtor_charge_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1139736963",
            "mis_id": "9920",
            "description": "Charge Fee 1",
            "charge_date": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "charge_category": {
                "mis_id": "CHRG1",
                "code": "CHRG CODE",
                "description": "Charge Fee 1",
                "mandatory": false,
            },
            "amount": 100.30,
            "paid": true,
            "processed": null,
            "due": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1139736963",
            "mis_id": "9921",
            "description": "Charge Fee 2",
            "charge_date": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "charge_category": {
                "mis_id": "CHR1",
                "code": "CHRG CODE 1",
                "description": "Charge Fee 2",
                "mandatory": false,
            },
            "amount": 100.30,
            "paid": true,
            "processed": null,
            "due": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ]
}

This endpoint is currently available for Synergetic SIS school data only.

You need the debtors-charges.read permission to view this resource.

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
debtor one
students many

Debtor's Charges Object

Response Body
{
    "id": "A1139736963",
    "mis_id": "9920",
    "description": "Charge fee",
    "charge_date": {
        "date": "2015-10-29 14:53:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "charge_category": {
        "mis_id": "mis_id 1",
        "code": "charge1",
        "description": "Charge Fee",
        "mandatory": false,
    },
    "amount": 100.15,
    "paid": true,
    "processed": false,
    "due": {
        "date": "2015-10-29 14:53:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    "created_at": {
        "date": "2015-10-29 14:53:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 14:53:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the debtors charges read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The debtor’s charge ID in the MIS.
description string The debtor’s charge description.
charge_date date
nullable
The debtor’s charge date.
charge_category json string
nullable
The debtor’s charge category. Referenced to charge attributes.
amount numeric The debtor’s amount.
paid boolean
nullable
If the debtor’s charge is paid.
processed boolean
nullable
If the debtor’s charge is processed.
due date
nullable
The debtor’s charge due date.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

GET Debtor Charge Attributes

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/debtors-charges/attributes"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1139736963",
            "description": "Charge Attribute Category description",
            "code": "attributeCode1",
            },"created_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1771812169",
            "description": "Charge Attribute description",
            "code": "attributeCode2",
            },"created_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
    ]

This endpoint is currently available for Synergetic SIS school data only.

You need the debtors-charge-category.read permission to view this resource.

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
debtor charges Many

Debtor Charge Attributes Object

Response Body
{
    "id": "A1771812169",
    "description": "Charge Attribute Description",
    "code": "attributeCode2",
        "created_at": {
        "date": "2015-10-29 14:53:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 14:53:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the debtors charge category read permission to view this object.

Name Type Description
id string The ID of the object.
description string The debtor charge attribute description.
code string The debtor charge attribute code.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Doctors

GET Doctors

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/doctors"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/doctors/{doctor_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1139736963",
            "mis_id": "9920",
            "title": "Mrs",
            "forename": "Sally",
            "middle_name": null,
            "surname": "Smith",
            "practice_name": "Medical Centre",
            "telephone": "01623 123123",
            "building_number": "1",
            "building_name": null,
            "street": "High Street",
            "district": null,
            "town": "London",
            "county": null,
            "postcode": "W1 XYZ",
            "country": "United Kingdom",
            "created_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1139736963",
            "mis_id": "9920",
            "title": "Mr",
            "forename": "John",
            "middle_name": "James",
            "surname": "Smith",
            "practice_name": "Medical Surgery",
            "telephone": "01623 987876",
            "building_number": null,
            "building_name": null,
            "street": "Main Street",
            "district": null,
            "town": "London",
            "county": null,
            "postcode": "W2 YUB",
            "country": "United Kingdom",
            "created_at": {
                "date": "2016-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-10-29 14:53:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ]
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
students many

Doctor Object

Response Body
{
    "id": "A1139736963",
    "mis_id": "9920",
    "title": "Mrs",
    "forename": "Sally",
    "middle_name": null,
    "surname": "Smith",
    "practice_name": "Medical Centre",
    "telephone": "01623 123123",
    "building_number": "1",
    "building_name": null,
    "street": "High Street",
    "district": null,
    "town": "London",
    "county": null,
    "postcode": "W1 XYZ",
    "country": "United Kingdom",
    "created_at": {
        "date": "2015-10-29 14:53:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 14:53:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the doctors read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The doctor’s ID in the MIS.
title string
nullable
The doctor’s title.
forename string
nullable
The doctor’s first name.
middle_names nullable
string
The doctor’s middle_names.
surname string The doctor’s last name.
practice_name string
nullable
The doctor’s practice name.
telephone string
nullable
The doctor’s telephone.
building_number string
nullable
The doctor’s building number.
building_name string
nullable
The doctor’s building name.
street string
nullable
The doctor’s street.
district string
nullable
The doctor’s district.
town string
nullable
The doctor’s town.
county string
nullable
The doctor’s county.
postcode string
nullable
The doctor’s postcode.
country string
nullable
The doctor’s country.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Detentions

GET Detentions

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/detentions"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/detentions/{detention_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1139736963",
            "mis_id": "1",
            "detention_type": "A1139736963",
            "comment": null,
            "room": "A688857193",
            "start_at": {
                "date": "2016-01-15 12:00:00.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "end_at": {
                "date": "2016-01-15 13:00:00.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "attended_by_employee": "A930902628",
            "created_at": {
                "date": "2023-05-15 15:18:47.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2023-05-15 15:18:47.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1161584171",
            "mis_id": "2",
            "detention_type": "A1329183376",
            "comment": null,
            "room": "A688857193",
            "start_at": {
                "date": "2016-01-22 12:00:00.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "end_at": {
                "date": "2016-01-22 13:00:00.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "attended_by_employee": "A1299388415",
            "created_at": {
                "date": "2023-05-15 15:18:47.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2023-05-15 15:18:47.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/A1329183376/detentions?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "detention_type",
            "room",
            "attended_by_employee",
            "attendances",
            "attendances.student"
        ]
    }
}

Url parameters

Name type Description
detention_type id Return rows for a detention type.
room id Return rows for a room.
detentions_start_after date Return rows starting after date.
detentions_start_before date Return rows starting before date.
attended_by_employee id Return rows for an employee.
has_students any Only get detentions that have students.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
detention_type one
room one
attended_by_employee one
attendances many
attendances.student many

POST Detention

Curl example
curl -X POST -H "Authorization: Bearer API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "detention": [
        {
            "detention_type_id": "A1362597725",
            "room_id": "A259582724",
            "start_at": "2023-05-30 12:30:00",
            "end_at": "2023-05-30 13:00:00",
            "attended_by_employee_id": "A155021909",
            "attendees": []
        }
    ]}' "https://api.wonde.com/v1.0/schools/{school_id}/detentions"
Request Body
{
    "detention": [
        {
            "detention_type_id": "A1362597725",
            "room_id": "A259582724",
            "start_at": "2023-05-30 12:00:00",
            "end_at": "2023-05-30 12:30:00",
            "attended_by_employee_id": "A155021909",
            "attendees": [
                {
                    "student_id" : "A15495061",
                    "comments": null,
                    "detention_attendance_code_id" : "A1161584171",
                    "recorded_by_employee_id" : "A589692274",
                    "behaviour_id" : "A1410636307",
                    "behaviour_type" : "BULL"
                },
                {
                    "student_id" : "A1962835790",
                    "comments": null,
                    "detention_attendance_code_id" : "TROP",
                    "recorded_by_employee_id" : "A589692274",
                    "behaviour_id" : "A142098841",
                    "behaviour_type" : "A1600973649"
                }
            ]
        },
        {
            "detention_type_id": "A1161584171",
            "room_id": "A259582724",
            "start_at": "2023-06-06 12:30:00",
            "end_at": "2023-06-06 13:00:00",
            "attended_by_employee_id": "A155021909",
            "attendees": []
        }
    ]
}

To create a detention record, send a JSON encoded POST request to /v1.0/schools/{school_id}/detentions.

An example of the request body is provided on the right.
The attribute values that must be set successfully to create detention records are:

Name type Required Description
detention_type_id string Yes The Wonde ID for the detention type.
room_id string Yes The Wonde ID for the room.
start_at datetime Yes The timestamp for the start of the detention.
end_at datetime Yes The timestamp for the end of the detention.
attended_by_employee_id string No The Wonde ID of the employee attending the detention.
attendees array No An array of detention attendances.
attendees > student_id string Yes The Wonde ID of the student.
attendees > comments string No Comments relevant to the detention attendance. (Note: For SIMS this field cannot exceed 170 characters in length, you will receive a failure status in the event that it exceeds the limit)
attendees > detention_attendance_code_id string Yes The Wonde ID of the detention attendance code.
attendees > recorded_by_employee_id string No The Wonde ID of the employee recording the detention attendance.
attendees > behaviour_id string No The Wonde ID of the behaviour record relating to this detention.
attendees > behaviour_type string No The Wonde ID or code of the BEHAVIOUR_TYPE relating to this detention.
If a value is not provided, the default BEHAVIOUR_TYPE of <NONE> is used.

Response body

Response Body
{
  "writeback_id": "A18098738"
}

If your request fails validation the response will contain the validation errors. If your request passes validation you will receive a writeback_id which can be used to check the status of the writeback.

DELETE Detention

Curl example
curl -X "DELETE" "https://api.wonde.com/v1.0/schools/{school_id}/detentions/{detention_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

You need the detentions delete permission to perform this action.

To delete a detention record just send a delete request to the detention item's url.

Response Body
{
  "writeback_id": "A18098738"
}

Detention Object

Response Body
{
    "id": "A1139736963",
    "mis_id": "1",
    "detention_type": "A1139736963",
    "comment": null,
    "room": "A688857193",
    "start_at": {
        "date": "2016-01-15 12:00:00.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "end_at": {
        "date": "2016-01-15 13:00:00.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "attended_by_employee": "A930902628",
    "created_at": {
        "date": "2023-05-17 09:59:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2023-05-17 09:59:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the detentions read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
detention_type string The detention type this detention belongs to.
comment string
nullable
The comment about the detention.
room string The room this detention belongs to.
start_at datetime The start date and time of the detention.
end_at datetime The end date and time of the detention.
attended_by_employee string
nullable
The employee attending the detention.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Detention Attendance Codes

GET Detention Attendance Codes

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/detention-attendance-codes"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "mis_id": "1",
            "code": "NOR",
            "description": "Not Recorded"
        },
        {
            "id": "A1161584171",
            "mis_id": "2",
            "code": "ATT",
            "description": "Attended"
        },
        {
            "id": "A2032141745",
            "mis_id": "3",
            "code": "NAT",
            "description": "Not Attended"
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/A1329183376/attendance/detention-attendance-codes?page=2",
            "previous": null,
            "more": true,
            "per_page": "3",
            "current_page": 1
        }
    }
}

Detention Attendance Code Object

Response Body
{
    "id": "A1329183376",
    "mis_id": "1",
    "code": "NOR",
    "description": "Not Recorded"
}
Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
code string The detention attendance code.
description string The detention attendance code’s description.

Detention Attendance

GET Detention Attendance

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance/detention"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance/detention/{detention_attendance_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "mis_id": "1",
            "detention": "A1329183376",
            "comment": null,
            "detention_attendance_code": "A1161584171",
            "student": "A1388940495",
            "recorded_by_employee": "A1131916182",
            "behaviour": "A1964735203",
            "behaviour_type": "A2132451809",
            "created_at": {
                "date": "2023-05-17 09:59:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2023-05-17 09:59:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1161584171",
            "mis_id": "2",
            "detention": "A1329183376",
            "comment": null,
            "detention_attendance_code": "A1161584171",
            "student": "A1711437020",
            "recorded_by_employee": "A1500139297",
            "behaviour": "A1964735203",
            "behaviour_type": "A1663264959",
            "created_at": {
                "date": "2023-05-17 09:59:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2023-05-17 09:59:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/A1329183376/attendance/detention?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "detention",
            "student",
            "recorded_by_employee",
            "behaviour",
            "behaviour_type"
        ]
    }
}

Url parameters

Name type Description
detention_date_after date Return entries after date.
detention_date_before date Return entries before date.
student id Return rows for a student.
recorded_by_employee id Return rows for an employee.
behaviour id Return rows for a behaviour.
detention id Return rows for a detention.
detention_attendance_code id Return rows for a detention attendance code.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
detention one
student one
recorded_by_employee one
behaviour one
behaviour_type one

POST Detention Attendance

Curl example
curl -X POST -H "Authorization: Bearer API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "attendance": [
        {
            "detention_id": "A1329183376",
            "student_id": "A960618364",
            "comments": "Student was present",
            "detention_attendance_code_id": "A1329183376",
            "recorded_by_employee_id": "A866880757",
            "behaviour_id": "A2133121352",
            "behaviour_type": "A2132451809"
        }
    ]}' "https://api.wonde.com/v1.0/schools/{school_id}/attendance/detention"
Request Body
{
    "attendance": [
        {
            "detention_id": "A1329183376",
            "student_id": "A960618364",
            "comments": "Student was present",
            "detention_attendance_code_id": "A1161584171",
            "recorded_by_employee_id": "A866880757",
            "behaviour_id": "A2133121352",
            "behaviour_type": "A2132451809"
        },
        {
            "detention_id": "A1329183376",
            "student_id": "A1837404115",
            "comments": "Student was present",
            "detention_attendance_code_id": "A1161584171",
            "recorded_by_employee_id": "A866880757",
            "behaviour_id": "A1362597725",
            "behaviour_type": "OTH"
        }
    ]
}

To successfully create or edit a detention attendance record, send a JSON encoded POST request to /v1.0/schools/{school_id}/attendance/detention.

An example of the request body is provided on the right.
The attribute values that must be set successfully to create detention attendance records are:

Name type Required Description
detention_id string Yes The Wonde ID for the detention.
student_id string Yes The Wonde ID for the student.
comments string No Comments relevant to the detention attendance. (Note: For SIMS this field cannot exceed 170 characters in length, you will receive a failure status in the event that it exceeds the limit)
detention_attendance_code_id string Yes The Wonde ID of the detention attendance code.
recorded_by_employee_id string No The Wonde ID of the employee recording the attendance.
behaviour_id string No The Wonde ID of the behaviour.
behaviour_type string No The Wonde ID or code of the behaviour type relating to this detention.
If a value is not provided, the default BEHAVIOUR_TYPE of <NONE> is used.

Response body

Response Body
{
  "writeback_id": "A18098738"
}

If your request fails validation the response will contain the validation errors. If your request passes validation you will receive a writeback_id which can be used to check the status of the writeback.

DELETE Detention Attendance

Curl example
curl -X "DELETE" "https://api.wonde.com/v1.0/schools/{school_id}/attendance/detention/{detention_id}/attendee/{student_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

You need the detention attendance delete permission to perform this action.

To delete a detention attendance record send a delete request to the url displayed, containing the relevant detention and student IDs.

Response Body
{
  "writeback_id": "A18098738"
}

Detention Attendance Object

Response Body
{
    "id": "A1329183376",
    "mis_id": "1",
    "detention": "A1329183376",
    "comment": null,
    "detention_attendance_code": "A1161584171",
    "student": "A1388940495",
    "recorded_by_employee": "A1131916182",
    "behaviour": "A1964735203",
    "behaviour_type": "A2132451809",
    "created_at": {
        "date": "2023-05-17 09:59:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2023-05-17 09:59:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the attendance detentions read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
detention id The ID of the detention.
comment string
nullable
The comment about the detention attendance.
detention_attendance_code id The detention attendance code for the attendance.
recorded_by_employee id
nullable
The employee recording the attendance.
behaviour id
nullable
The behaviour relating to the detention attendance.
behaviour_type id The behaviour type relating to the detention attendance.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Detention Types

GET Detention Types

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/detention-types"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/detention-types/{detention__type_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "mis_id": "1",
            "name": "Monday Lunchtime",
            "duration_in_minutes": 30,
            "frequency_per_month": "A1664730745",
            "start_time": "12:30",
            "end_time": "13:00",
            "day_of_week": 1,
            "employee": "A2019555757",
            "room": "A688857193",
            "created_at": {
                "date": "2023-05-17 09:59:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2023-05-17 09:59:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1161584171",
            "mis_id": "2",
            "name": "Tuesday Lunchtime",
            "duration_in_minutes": 30,
            "frequency_per_month": "A1664730745",
            "start_time": "12:30",
            "end_time": "13:00",
            "day_of_week": 2,
            "employee": null,
            "room": "A688857193",
            "created_at": {
                "date": "2023-05-17 09:59:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2023-05-17 09:59:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/A1329183376/detention-types?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        }
        "includes": [
            "frequency_per_month",
            "employee",
            "room"
        ]
    }
}

Url parameters

Name type Description
frequency_per_month id Return rows for a frequency per month.
employee id Return rows for an employee.
room id Return rows for a room.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
Name Relationship
frequency_per_month one
employee one
room one

Detention Type Object

Response Body
{
    "id": "A1329183376",
    "mis_id": "1",
    "name": "Monday Lunchtime",
    "duration_in_minutes": 30,
    "frequency_per_month": "A1664730745",
    "start_time": "12:30",
    "end_time": "13:00",
    "day_of_week": 1,
    "employee": "A2019555757",
    "room": "A688857193",
    "created_at": {
        "date": "2023-05-17 09:59:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2023-05-17 09:59:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the detention types read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The ID in the MIS.
name string The name of the detention type.
duration_in_minutes int The duration of the detention.
frequency_per_month string The frequency per month ID.
start_time time The start time of the detention.
end_time time The end time of the detention.
day_of_week int
nullable
The day of the detention.
  • 0 - Sunday
  • 1 - Monday
  • 2 - Tuesday
  • 3 - Wednesday
  • 4 - Thursday
  • 5 - Friday
  • 6 - Saturday
employee string
nullable
The employee attending the detention.
room int The room this detention belongs to.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Counts

GET Counts

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/counts?include=students,contacts,employees"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
  "data": {
    "students": {
      "data": {
        "count": 1017
      }
    },
    "contacts": {
      "data": {
        "count": 1785
      }
    },
    "employees": {
      "data": {
        "count": 112
      }
    },
    "behaviours": {
      "data": {
        "count": 1231
      }
    },
    "achievements": {
      "data": {
        "count": 1304
      }
    },
    "rooms": {
      "data": {
        "count": 68
      }
    },
    "subjects": {
      "data": {
        "count": 62
      }
    },
    "lessons": {
      "data": {
        "count": 35712
      }
    }
  },
  "meta": {
    "includes": [
      "students",
      "contacts",
      "employees",
      "behaviours",
      "achievements",
      "rooms",
      "subjects",
      "lessons",
      "periods",
      "groups",
      "classes",
      "photos",
      "buildings",
      "attendance",
      "lessonAttendance",
      "contracts",
      "roles",
      "sen_needs",
      "aspects",
      "templates",
      "result_sets",
      "results",
      "events",
      "detentions",
      "detention-types",
      "detention-attendance-codes",
      "detention-attendance"
    ]
  }
}

Employees

Wonde holds records for all employees even if they are currently inactive at the school. Applications should use the current property from the employment details related object to establish whether or not a staff member is currently active at the school.

GET Employees

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/employees"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/employees/{employee_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "upi": "5cc4ab015f8f7870b581e30e0ef474fa",
            "mis_id": "26",
            "title": "Mrs",
            "initials": "SS",
            "surname": "Smith",
            "forename": "Sally",
            "middle_names": null,
            "legal_surname": "Smith",
            "legal_forename": "Sally",
            "gender": "female",
            "date_of_birth": {
                "date": "1963-02-11 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "restored_at": {
                "date": "2015-10-29 14:59:08.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:59:08.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-29 14:45:00.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1161584171",
            "upi": "e5164e2f29965c14f1c68e241a116551",
            "mis_id": "6903",
            "title": "Mrs",
            "initials": "KA",
            "surname": "Anderson",
            "forename": "Kate",
            "middle_names": "Victoria",
            "legal_surname": "Anderson",
            "legal_forename": "Kate",
            "gender": "female",
            "date_of_birth": {
                "date": "1966-03-11 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "restored_at": {
                "date": "2015-10-29 14:59:08.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:59:08.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-29 14:45:00.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/employees/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "contact_details",
            "employment_details",
            "extended_details",
            "roles",
            "allowances",
            "scales",
            "photo",
            "roles.contract",
            "allowances.contract",
            "scales.contract",
            "contracts",
            "contracts.roles",
            "contracts.salary",
            "contracts.salary.allowances",
            "contracts.salary.scales",
            "salary",
            "salary.contract",
            "groups",
            "campus",
            "classes",
            "employee_absences",
            "identifiers",
            "user_defined_fields",
            "next_of_kin"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
employment_start_before date Get employees who have started before a date.
employment_start_after date Get employees who have started after a date.
has_role any Only return employees that have a role.
has_contract any Only return employees that have a contract.
has_class any Only return employees that have one or more classes.
has_group any Only return employees that have one or more groups.
user_defined_field string Filter employees by user defined field key.
only_user_defined_fields string Filter user defined fields by comma separated list.
only_mis_ids string Filter MIS ids by comma separated list.
Name Relationship
contact_details one
employment_details one
extended_details one
roles many
roles.contracts many > many
contracts many
contracts.roles many > many
contracts.salary many > one
contracts.salary.allowances many > one > many
contracts.salary.scales many > one > many
salary many
salary.contract many > one
allowances many
allowances.contract many > one
scales many
scales.contract many > one
photo one
groups many
campus one
behaviours many
classes many
employee_absences many
identifiers one
user_defined_fields many
next_of_kin one
qualifications many
employment_checks many

Employee Object

Response Body
{
    "id": "A1749191433",
    "upi": "5cc4ab015f8f7870b581e30e0ef474fa",
    "mis_id": "9919",
    "title": "Mr",
    "initials": "TS",
    "surname": "Smith",
    "forename": "Tom",
    "middle_names": null,
    "legal_surname": "Smith",
    "legal_forename": "Tom",
    "gender": "male",
    "date_of_birth": {
        "date": "2002-09-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "restored_at": {
        "date": "2016-07-14 10:26:12.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "created_at": {
        "date": "2016-07-14 10:26:12.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-07-15 09:59:05.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the employees read permission to view this object.

Name Type Description
id string The ID of the object.
upi string Unique Person Identifier - If a person is a contact and an employee they will have the same UPI but different ids.
mis_id string The employee’s ID in the MIS.
title nullable
string
The employee’s title.
initials nullable
string
The employee’s initials.
surname string The employee’s last name.
forename string
nullable
The employee’s first name.
middle_names nullable
string
The employee’s middle_names.
legal_surname string
nullable
The employee’s legal last name.
legal_forename string
nullable
The employee’s legal first name.
gender string The employee’s gender.
  • male
  • female
  • intersex or indeterminate
  • not stated/inadequately described
  • redacted for privacy
  • other
date_of_birth date The employee’s date of birth.
restored_at datetime When the Wonde ID was restored from the deletions data
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Employment Details Object

Response Body
{
    "teaching_staff": true,
    "current": true,
    "teacher_number": "84/82693",
    "teacher_category": "Qualified Teacher",
    "staff_code": "AA",
    "primary_location": "0810",
    "employment_start_date": {
        "date": "1988-09-01 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "employment_end_date": null,
    "local_authority_start_date": {
        "date": "1988-09-01 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "employee_payroll_number": "8372CGT",
    "role_text": "Teacher",
    "qualified_teacher_status": "Qualified",
    "qualified_teacher_status_route": "Annual College Exit - Post graduate course",
    "higher_level_teaching_assistant_status": "F"
}

You need the employees read permission to view this object.

Name Type Description
current boolean
nullable
Is the employee a current member of staff.
teaching_staff boolean
nullable
Is the employee’s role considered teaching staff.
teacher_number string
nullable
Teacher’s number.
teacher_category string
nullable
Teacher’s category.
staff_code string
nullable
Teacher’s staff code.
primary_location string
nullable
Teacher’s primary location. Currently supported only for SA government schools - CEDS.
employment_start_date date Employment start date.
employment_end_date date
nullable
Employment end date.
local_authority_start_date date
nullable
The date the employee started at the local authority.
employee_payroll_number string
nullable
The employee's payroll number.
role_text string
nullable
The employee role text.
qualified_teacher_status string
nullable
If employee is qualified to teach.
qualified_teacher_status_route string
nullable
The employee's teaching status route.
higher_level_teaching_assistant_status string
nullable
The employee's higher level teaching assistant status.

Employee Hierarchy Object

Response Body
{
    "id": "A1964735203",
    "upi": "fde2ccd1f408fe53bcf6b8f546b7621fdd",
    "mis_id": "8435",
    "initials": "SY",
    "title": "Mr",
    "surname": "Yates",
    "forename": "Simon",
    "middle_names": null,
    "legal_surname": "Yates",
    "legal_forename": "Simon",
    "gender": "male",
    "date_of_birth": {
        "date": "1993-07-02 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "created_at": {
        "date": "2017-05-21 13:20:50.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2017-05-21 13:20:50.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "meta": {
        "role": "linemanager",
        "start_date": {
            "date": "2016-03-11 00:00:00.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        }
        "end_date": null
    }
}

You need the employees hierarchy read permission to view this object.

When this include is added to the employees endpoint, an array of relationships are appended to each employee.

Each relationship will include the employee object of the related person and a meta object describing the relationship.

Name Type Description
role string

There are four types of relationships that can be shown:

  • linemanager
  • reportee
  • appraiser
  • appraisee

The linemanager and reportee roles are the inverse of one another. The same applies to appraiser and appraisee.

start_date date
nullable
When the relationship is active from.
end_date date
nullable
When the relationship ends.

Role Object

Response Body
{
    "id": "A1964735203",
    "mis_id": "98",
    "role": "Classroom Teacher",
    "role_code": "TCHR",
    "contract": "A1529934786",
    "start_date": {
        "date": "2013-09-01 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "end_date": null,
    "created_at": {
        "date": "2015-10-29 14:57:59.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 14:57:59.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the employees read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string
nullable
The role’s ID in the MIS.
role string Name of the role.
role_code string
nullable
The role’s identifier.
contract string
object
nullable
The contract this role belongs to.
start_date date
nullable
When the role is active from.
end_date date
nullable
When the role ends.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Contract Object

Response Body
{
    "id": "A1529934786",
    "mis_id": "358",
    "start_date": {
        "date": "2013-09-01 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "end_date": null,
    "employment_type": "PERMANENT",
    "created_at": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the contracts read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The contract’s ID in the MIS.
start_date date When the contract is active from.
end_date date
nullable
When the contract ends.
employment_type string
nullable
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Salary Object

Response Body
{
    "id": "A1529934786",
    "payroll_number": "P999999",
    "salary": "24987.94",
    "fte_salary": "24987.94",
    "total_pay": "24987.94",
    "latest_pay_review_date": {
        "date": "2016-09-02 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "superannuation": "Basic Pension",
    "pay_factor": "1.2500",
    "service_term": "Support Staff",
    "hours_week": "40.0000",
    "weeks_year": "20.0000",
    "hours_year": "800.00",
    "fte_hours": "1.00",
    "created_at": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the contract salary read permission to view this object.

Name Type Description
id string The ID of the object.
payroll_number string The payroll number of the contract.
salary decimal
nullable
Salary offered for contract.
fte_salary decimal
nullable
Full time equivalent salary for contract.
total_pay decimal
nullable
Total compensation for contract.
latest_pay_review_date date
nullable
Date of last pay review.
superannuation string
nullable
Type of pension.
pay_factor decimal
nullable
Factor of pay for contract.
service_term string
nullable
hours_week decimal
nullable
Contracted hours per week.
weeks_year decimal
nullable
Contracted weeks per year.
hours_year decimal
nullable
Contracted hours per year.
fte_hours decimal
nullable
Full Time Equivalent (FTE) hours per year.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Allowance Object

Response Body
{
    "id": "A9483752984",
    "mis_id": "95",
    "start_date": {
        "date": "2015-03-02 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "end_date": null,
    "amount": 7157,
    "type": "PERMANENT",
    "allowance": "Teaching higher course",
    "code": "TH",
    "payroll_allowance": null,
    "allowance_reason": "Higher progression",
    "created_at": {
        "date": "2016-02-15 12:01:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-02-15 12:01:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the contract salary read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The allowance’s ID in the MIS.
start_date date When the allowance is active from.
end_date date
nullable
When the allowance ends.
amount integer
nullable
The amount in the allowance.
type string
nullable
The type of allowance.
allowance string
nullable
Short description of allowance.
code string
nullable
The code for allowance.
payroll_allowance string
nullable
allowance_reason string
nullable
Reason that allowance has been given.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Employee Identifiers Object

Response Body
{
    "identifiers": {
        "data": {
            "barcode": "ADSVASW32131FE",
            "active_directory_username": "username",
            "username": "username",
            "passport_number": "84874712347"
        }
    }
}

You need the employees read permission to view this object.

Name Type Description
barcode string
nullable
A barcode used to identify the employee.
active_directory_username string
nullable
The active directory username used to identify the employee.
username string
nullable
The username of the employee.
passport_number string
nullable
The passport number of the employee.

Scale Object

Response Body
{
    "id": "A6389286398",
    "mis_id": "963",
    "start_date": {
        "date": "2017-12-06 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "end_date": null,
    "scale_point": 3,
    "pay_scale": "Initial scale",
    "pay_scale_code": "IPS",
    "minimum_amount": null,
    "maximum_amount": null,
    "notes": null,
    "created_at": {
        "date": "2016-08-21 12:01:07.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-08-21 12:01:07.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the contract salary read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The scale’s ID in the MIS.
start_date date When the scale is active from.
end_date date
nullable
When the scale ends.
scale_point int
nullable
pay_scale string
nullable
The scale of pay for contract.
pay_scale_code string
nullable
Identifying code for pay scale.
minimum_amount int
nullable
Minimum amount for scale.
maximum_amount int
nullable
Maximum amout for scale.
notes text
nullable
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Next of Kin Object

Response Body
{
    "id": "A1529934786",
    "mis_id": "5321",
    "name": Mr George Marc,
    "telephone_home": "01637 8672230",
    "telephone_work": "01632 8670223",
    "telephone_mobile": "01631 86072230",
    "telephone_primary": "01631 80672230",
    "email_primary": "[email protected]",
    "email_work": "[email protected]",
    "email_home": "[email protected]",                
    "created_at": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the next of kin read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The next of kin’s ID in the MIS.
name string Full name of the next of kin.
telephone_home string
nullable
Home phone contact number
telephone_work string
nullable
Contact number at work
telephone_mobile string
nullable
Mobile number
telephone_primary string
nullable
Primary contact number
email_primary string
nullable
Primary email address
email_work string
nullable
Email address at work
email_home string
nullable
Personal email address
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Employee Qualifications Object

Response Body
{
    "id": "A756877067",
    "mis_id": "247e407366c87edf49d57e3f7bd8f5802139301d",
    "employee": "A1375078684",
    "title": "BSc",                
    "qualification": "Bachelor of Science",                
    "date_awarded": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }, 
    "level": "Other First Degree or equivalent",  
    "comments": "this is a comment",      
    "first_subject": "Others in physical sciences - F900",   
    "second_subject": null,                                       
    "class_of_degree": "Upper second class honours",
    "country_of_origin": "British",
    "verified": 1,
    "created_at": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the employees qualifications read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The qualification’s ID in the MIS.
employee string Wonde ID of the employee.
title string Title or code of the qualification
qualification string Description of the qualification
date_awarded date/td> Date when the qualification was awarded
level string
nullable
Level of qualification
comments string
nullable
Any notes or comments
first_subject string
nullable
First subject of qualification
second_subject string
nullable
Second subject of qualification
class_of_degree string
nullable
Class of degree
country_of_origin string
nullable
Country where the qualification was done
verified boolean Whether the qualification is verified true and correct
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Employment Checks Object

Response Body
{
    "id": "A1057690068",
    "mis_id": "9d534c2547769993aa2ee43979b7729de0eb49f3",
    "employee": "A500460806",
    "type": "List 99",                
    "clearance_date": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },                
    "expires_on": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }, 
    "reference_number": "R66348",  
    "document_number": "D06239237",      
    "notes": null,   
    "authenticated_by": null,                                       
    "created_at": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2014-05-21 16:21:45.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the employees employment checks read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The qualification’s ID in the MIS.
employee string Wonde ID of the employee.
type string Type of employment check
clearance_date date Date when the check was done
expires_on date/td> Date of expiration
reference_number string
nullable
Reference number
document_number string
nullable
Document reference number
notes string
nullable
Any note or comment about the employment check
authenticated_by string
nullable
Who verified the employment check
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Employee Absences

GET Employee Absences

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/employee-absences"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/employee-absences/{employee_absence}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1744353885",
            "mis_id": "0sfo4-wfer-r3gg23-nm762ca-098j",
            "employee": "A7639428573",
            "start_at": {
                "date": "2016-08-02 08:30:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "end_at": {
                "date": "2016-08-05 08:30:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "working_days": 3,
            "number_of_hours": 24,
            "absence_type": "Sickness",
            "illness_category": "Minor injury",
            "authorised_pay_rate": "Full pay",
            "absence_note": "Employee was feeling unwell",
            "created_at": {
                "date": "2016-08-06 09:14:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-08-06 09:14:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A8294679863",
            "mis_id": "f7s8g-4fow-r987da-gd9s84d-31n2",
            "employee": "A9037288054",
            "start_at": {
                "date": "2016-09-15 08:30:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "end_at": {
                "date": "2016-09-16 08:30:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "working_days": 1,
            "number_of_hours": 8,
            "absence_type": "Sickness",
            "illness_category": "Food poisoning",
            "authorised_pay_rate": "Full pay",
            "absence_note": "Not feeling well, will be in tomorrow",
            "annual_leave": true,
            "created_at": {
                "date": "2016-09-17 11:45:01.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-09-17 11:45:01.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/employee-absences/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        }
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
absence_start_date_before date Return rows where absences start before date.
absence_start_date_after date Return rows where absences start after date.
absence_start_date_from date Return rows where absences start from date.
absence_start_date_to date Return rows where absences start to date.
absence_end_date_before date Return rows where absences end before date.
absence_end_date_after date Return rows where absences end after date.
absence_end_date_from date Return rows where absences end from date.
absence_end_date_to date Return rows where absences end to date.
employee id Only absences associated to provided employee.
Name Relationship
employee one

POST Employee Absences

Curl example
curl -X POST -H "Authorization: Bearer API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "employee_absence": [
        {
            "employee_id": "A1849765024",
            "start_at": "2018-01-29 08:00:00",
            "end_at": "2018-01-30 12:00:00",
            "working_days": "1.5",
            "number_of_hours": "12",
            "absence_type": "sic",
            "illness_category": "A311585473",
            "authorised_pay_rate": "f",
            "absence_note": "Absence due to illness."
            "absence_code": "A311585473"
        }
    ]}' "https://api.wonde.com/v1.0/schools/{school_id}/employee-absences"

Request body

Request Body
{
     "employee_absence": [
         {
             "employee_id": "A960618364",
             "start_at": "2018-01-29 08:00:00",
             "end_at": "AM",
             "working_days": "1.5",
             "number_of_hours": "12",
             "absence_type": "sic",
             "illness_category": "A2054198853",
             "authorised_pay_rate": "A1329183376",
             "absence_note": "Absence due to illness.",
             "absence_code": "A1986776951"
         },
         {
             "employee_id": "A1516828227",
             "start_at": "2015-12-14",
             "end_at": "AM",
             "working_days": "2",
             "number_of_hours": "16",
             "absence_type": "unath",
             "illness_category": "dig",
             "authorised_pay_rate": "A1986776951",
             "absence_note": "Absence due to illness.",
             "absence_code": "A1986776951"
         }
     ]
 }

An example of the request body is provided on the right.
The attribute values that must be set to successfully create employee absences are:

Name type Required Description
employee_id string Yes The Wonde ID for the employee.
start_at datetime Yes The absence’s start date and time.
end_at datetime Yes The absence’s end date and time. Required for Bromcom
working_days decimal Yes The number of working days the employee is absent.
number_of_hours decimal Yes The number of hours the employee is absent.
absence_type string Yes Type of absence.
illness_category string No Category of illness. Required for Bromcom
authorised_pay_rate string Yes Applicable pay rate for absence.
absence_note string
nullable
No Notes relevant to absence.
absence_code string No Absence code. Required for Bromcom

Response body

Response Body
{
  "writeback_id": "A18098738"
}

If your request fails validation the response will contain the validation errors. If your request passes validation you will receive a writeback_id which can be used to check the status of the writeback.

PUT Employee Absence

Curl example
curl -X PUT -H "Authorization: Bearer API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "start_at": "2018-01-29 08:00:00",
    "end_at": "2018-01-30 12:00:00",
    "working_days": "1.5",
    "number_of_hours": "12",
    "absence_type": "sic",
    "illness_category": "A311585473",
    "authorised_pay_rate": "f",
    "absence_note": "Absence due to illness.",
    "absence_code": "A311585473"
    }' "https://api.wonde.com/v1.0/schools/{school_id}/employee-absences/{absence_id}"

To edit a single existing employee absence record just send a PUT request to the employee absence item's url with the accompanying request body.

Request body

Request Body

{
    "start_at": "2018-01-29 08:00:00",
    "end_at": "2018-01-30 12:00:00",
    "working_days": "1.5",
    "number_of_hours": "12",
    "absence_type": "sic",
    "illness_category": "A311585473",
    "authorised_pay_rate": "A1329183376",
    "absence_note": "Absence due to illness.",
    "absence_code": "A1329183376"
}

An example of the request body is provided on the right.
The attribute values that must be set to successfully create employee absences are:

Name type Required Description
start_at datetime Yes The absence’s start date and time.
end_at datetime Yes The absence’s end date and time. Required for Bromcom
working_days decimal Yes The number of working days the employee is absent.
number_of_hours decimal Yes The number of hours the employee is absent.
absence_type string Yes Type of absence.
authorised_pay_rate string Yes Applicable pay rate for absence.
absence_note string
nullable
Yes Notes relevant to absence.
absence_code string No Absence code. Required for Bromcom

Response body

Response Body
{
  "writeback_id": "A18098738"
}

If your request fails validation the response will contain the validation errors. If your request passes validation you will receive a writeback_id which can be used to check the status of the writeback.

DELETE Employee Absence

Curl example
curl -X "DELETE" "https://api.wonde.com/v1.0/schools/{school_id}/employee-absences/{employee_absence_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

You need the employees-absence.delete permission to perform this action.

To delete an employee absence record just send a delete request to employee absence item's url.

Employee Absence Object

Response Body
{
    "id": "A1744353885",
    "mis_id": "0sfo4-wfer-r3gg23-nm762ca-098j",
    "employee": "A7639428573",
    "start_at": {
        "date": "2016-08-02 08:30:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    "end_at": {
        "date": "2016-08-05 08:30:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    "working_days": 3,
    "number_of_hours": 24,
    "absence_type": "Sickness",
    "illness_category": "Minor injury",
    "authorised_pay_rate": "Full pay",
    "absence_note": "Twisted ankle",
    "annual_leave": true,
    "created_at": {
        "date": "2016-08-06 09:14:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-08-06 09:14:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the employees-absence.read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The employee absence’s ID in the MIS.
employee nullable
string
The employee this absence belongs to.
start_at nullable
string
When the absence began.
end_at string When the absence ended.
working_days string
nullable
The amount of working days the employee absence spanned over.
number_of_hours nullable
string
The amount of working hours the employee absence spanned over.
absence_type string The type of employee absence.
illness_category string
nullable
The category of the employee absence.
authorised_pay_rate string The type of pay rate for the employee absence
absence_note string The note associated with the employee absence
annual_leave boolean Whether the absence is classified as annual leave.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Employee Absence Attributes

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/employee-absences/attributes"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1886858204",
            "mis_id": "75",
            "type": "ILLNESS_CATEGORY",
            "code": "DIG",
            "active": true,
            "description": "Digestive illness",
            "created_at": {
                "date": "2018-01-19 13:21:01.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2018-01-19 13:21:01.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A572063017",
            "mis_id": "76",
            "type": "ABSENCE_TYPE",
            "code": "TRA",
            "active": true,
            "description": "Training",
            "created_at": {
                "date": "2018-01-19 13:21:01.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2018-01-19 13:21:01.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/employee-absences/attributes?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

You need the employees-absence.read permission to view this resource.

In SIMS, employee absence records are made from multiple select box values. To make it easy to add employee absence records, we provide the possible options for these select boxes. When creating an employee absence record you can provide the CODE or the ID for the select box value.

It is important that you check the code is valid for a school as missing or disabled codes will not pass Wonde's validation.

Type Information / Examples
ABSENCE_TYPE This is the absence type category.
ILLNESS_CATEGORY This is the illness type category.

Not all absences will be attributed to an illness, so this is not a required field.
AUTHORISED_PAY_RATE This is the authorised pay rate category.

Events

GET Events

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/events"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/events/{event_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1529934786",
        "mis_id": "2345",
            "description": "Planned whole or partial school closure",
            "type": null,
            "start_at": {
                "date": "2016-08-31 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "end_at": {
                "date": "2016-08-31 23:59:59.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "created_at": {
                "date": "2016-07-14 10:26:12.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-07-15 09:59:05.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1362597725",
        "mis_id": "2634",
            "description": "Planned whole or partial school closure",
            "type": null,
            "start_at": {
                "date": "2016-08-30 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "end_at": {
                "date": "2016-08-30 23:59:59.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "created_at": {
                "date": "2016-07-14 10:26:12.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-07-15 09:59:05.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/events?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": []
    }
}

Url parameters

Name type Description
end_before date Return entries with end_at before date.
end_after date Return entries with end_at after date.
start_before date Return entries with start_at before date.
start_after date Return entries with start_at after date.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
type string Returns rows with the supplied type, can be comma separated to return multiple types.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.

Events Object

Response Body
{
    "id": "A1529934786",
    "mis_id": "2345",
    "description": "Planned whole or partial school closure",
    "type": null,
    "start_at": {
        "date": "2016-08-31 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "end_at": {
        "date": "2016-08-31 23:59:59.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "created_at": {
        "date": "2016-07-14 10:26:12.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-07-15 09:59:05.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the events read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The event’s ID in the MIS.
description nullable
string
The event’s description.
type nullable
string
The event’s type.
start_at date The event’s start date.
end_at date The event’s end date.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Extended Details

Extended Details Object

This object is available under the student & employee endpoints.

Response Body
{
    "next_of_kin": null,
    "religion": "Christian",
    "ethnicity": "White - English",
    "ethnicity_code": "WENG",
    "nationality": "English",
    "birth_place": "Newmarket",
    "custody_alert": true,
    "custody_details": "Father has access",
    "dietary_needs": "No nuts of any type\/quantity, No pork",
    "paramedical_support": "Physiotherapy, Speech Therapy",
    "sen_status": null,
    "first_language": "ENG",
    "in_lea_care": false,
    "ever_in_care": false,
    "free_school_meals": false,
    "free_school_meals_6": false,
    "english_as_additional_language": null,
    "english_as_additional_language_status": Fluent,
    "premium_pupil_indicator": false,
    "premium_pupil_eligible": false,
    "premium_pupil_notes": "",
    "service_children_indicator": true,
    "enrolment_status": "SINGLE REGISTRATION",
    "gifted_and_talented_status": true,
    "national_insurance_number": "GE427539B",
    "application_status": "Admitted",
    "boarding_status": "Weekly",
    "marital_status": "Single",
    "child_protection_plan": true,
    "child_in_need": false,
    "youth_support_services_agreement": "Yes",
    "responsible_care_authority": "England",
    "leaver_destination": "Sir John Cass's Foundation Primary School",
    "fsm_review_date": {
        "date": "2018-02-05",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
}

Name Type Description
next_of_kin string
nullable
religion string
nullable
ethnicity string
nullable
ethnicity_code string
nullable
Code representing ethnicity.
nationality string
nullable
birth_place string
nullable
custody_alert boolean
nullable
custody_details string
nullable
dietary_needs string
nullable
paramedical_support string
nullable
sen_status string
nullable
first_language string
nullable
in_lea_care boolean
nullable
Is the person in local education authorities care.
ever_in_care boolean
nullable
Has the person ever been in care.
free_school_meals boolean
nullable
Does the person receive free school meals.
free_school_meals_6 boolean
nullable
Has the person received free school meals in last 6 years.
english_as_additional_language boolean
nullable
Is english not the person’s first language.
english_as_additional_language_status string
nullable
  • Not applicable
  • Competent
  • Early Acquisition
  • New to English
  • Developing Competence
  • Fluent
premium_pupil_indicator boolean
nullable
Details on this field is provided by Department for Education.
premium_pupil_eligible boolean
nullable
Eligible for the above.
premium_pupil_notes string
nullable
Details on this field is provided by Department for Education.
service_children_indicator boolean
nullable
enrolment_status string
nullable
gifted_and_talented_status boolean
nullable
national_insurance_number string
nullable
application_status string
nullable
Application status for pre-admission students.
boarding_status string
nullable
Boarding status for students.
marital_status string
nullable
child_protection_plan boolean
nullable
This data will be available for students, pre-admission students and leavers
child_in_need boolean
nullable
This data will be available for students, pre-admission students and leavers
youth_support_services_agreement string
nullable
Consent for pupil data to be shared with Connexions
responsible_care_authority string
nullable
Responsible care authority for student
leaver_destination string
nullable
fsm_review_date date
nullable
Free school meals review date

Exclusions

GET Exclusions

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/exclusions"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/exclusions/{exclusion_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A132297389",
            "mis_id": "272",
            "type": "Permanent",
            "type_code": "PERM",
            "reason": "Bullying",
            "reason_code": "BU",
            "start_date": {
                "date": "2018-02-05 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "start_session": null,
            "end_date": null,
            "end_session": null,
            "sessions": "0.00",
            "days": "0.00",
            "academic_year": "2017/2018",
            "term": "Spring Term",
            "comments": "Parents were not cooperative",
            "agencies_involved": null,
            "discipline_committee_date": {
                "date": "2018-02-12 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "discipline_committee_result": "Exclusion Stands",
            "discipline_committee_reinstatement_date": null,
            "discipline_committee_representation_made": false,
            "appeal_received": true,
            "appeal_result": "Reinstatement",
            "appeal_result_date": {
                "date": "2018-02-19 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "appeal_reinstatement_date": {
                "date": "2018-02-21 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "created_at": {
                "date": "2018-07-03 11:09:21.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "updated_at": {
                "date": "2018-07-03 11:09:21.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            }
        },
        {
            "id": "A53279963",
            "mis_id": "273",
            "type": "Fixed Term",
            "type_code": "FIXD",
            "reason": "Other",
            "reason_code": "OT",
            "start_date": {
                "date": "2018-03-12 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "start_session": "AM",
            "end_date": {
                "date": "2018-03-14 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "end_session": "PM",
            "sessions": "6.00",
            "days": "3.00",
            "academic_year": "2017/2018",
            "term": "Spring Term",
            "comments": null,
            "agencies_involved": null,
            "discipline_committee_date": null,
            "discipline_committee_result": null,
            "discipline_committee_reinstatement_date": null,
            "discipline_committee_representation_made": null,
            "appeal_received": false,
            "appeal_result": null,
            "appeal_result_date": null,
            "appeal_reinstatement_date": null,
            "created_at": {
                "date": "2018-07-03 11:09:22.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "updated_at": {
                "date": "2018-07-03 11:09:22.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/exclusions?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "student"
            "student-leaver"
            "student-pre-admission"
        ]
    }
}

Url parameters

Name type Description
start_after date Return entries with start_date after date.
start_before date Return entries with start_date before date.
end_after date Return entries with end_date after date.
end_before date Return entries with end_date before date.
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
type string Returns rows with the supplied type, can be comma separated to return multiple types.
type_code string Returns rows with the supplied type code, can be comma separated to return multiple types.
reason string Returns rows with the supplied reason, can be comma separated to return multiple types.
reason_code string Returns rows with the supplied reason_code, can be comma separated to return multiple types.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
student one
student-leaver one
student-pre-admission one

Exclusions Object

Response Body
{
    "id": "A132297389",
    "mis_id": "272",
    "type": "Permanent",
    "type_code": "PERM",
    "reason": "Bullying",
    "reason_code": "BU",
    "start_date": {
        "date": "2018-02-05 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "start_session": null,
    "end_date": null,
    "end_session": null,
    "sessions": "0.00",
    "days": "0.00",
    "academic_year": "2017/2018",
    "term": "Spring Term",
    "comments": "Parents were not cooperative",
    "agencies_involved": null,
    "discipline_committee_date": {
        "date": "2018-02-12 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "discipline_committee_result": "Exclusion Stands",
    "discipline_committee_reinstatement_date": null,
    "discipline_committee_representation_made": false,
    "appeal_received": true,
    "appeal_result": "Reinstatement",
    "appeal_result_date": {
        "date": "2018-02-19 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "appeal_reinstatement_date": {
        "date": "2018-02-21 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "created_at": {
        "date": "2018-07-03 11:09:21.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "updated_at": {
        "date": "2018-07-03 11:09:21.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    }
}

You need the exclusions read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The exclusion’s ID in the MIS.
type nullable
string
Type of exclusion.
type_code nullable
string
Type code for exclusion.
reason nullable
string
Reason for exclusion.
reason_code nullable
string
Reason code for exclusion.
start_date date When the exclusion starts.
start_session nullable
string
The session (AM/PM) when the exclusion starts.
end_date nullable
date
When the exclusion ends.
end_session nullable
string
The session (AM/PM) when exclusion starts.
sessions nullable
decimal
Amount of sessions the exclusion spans over.
days nullable
decimal
Amount of days the exclusion spans over.
academic_year nullable
string
The academic year when the exclusion occurred.
term nullable
string
The term when the exclusion occurred.
comments nullable
string
agencies_involved nullable
string
Any agencies that were involved in exclusion.
discipline_committee_date nullable
date
Date of discipline committee.
discipline_committee_result nullable
string
Outcome decided by discipline committee.
discipline_committee_reinstatement_date nullable
date
The reinstatement date decided by the discipline committee.
discipline_committee_representation_made nullable
boolean
Whether the parents were present in the discipline committee.
appeal_received nullable
boolean
Whether an appeal has been received for the exclusion.
appeal_result nullable
string
Result of the appeal.
appeal_result_date nullable
date
Date of the appeal result.
appeal_reinstatement_date nullable
date
The reinstatement date decided from the appeal.
created_at datetime When the record was created on Wonde.
updated_at datetime When the record was last updated on Wonde.

Groups

GET Groups

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/groups"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/groups/{group_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "mis_id": "34",
            "name": "10",
            "code": "10",
            "type": "YEAR",
            "description": "Year 10",
            "notes": null,
            "restored_at": {
                "date": "2015-10-29 14:56:29.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-29 14:56:29.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:56:29.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1161584171",
            "mis_id": "425",
            "name": "10A",
            "code": "10A",
            "type": "REGISTRATION",
            "description": "10A",
            "notes": null,
            "restored_at": {
                "date": "2015-10-29 14:56:29.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-29 14:56:29.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:56:29.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/groups/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "students",
            "employees"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
has_students any Only return groups that have students.
has_employees any Only return groups that have employees.
type string Only return groups with the provided type.
  • YEAR
  • REGISTRATION
  • HOUSE
  • BOARDING
  • COURSE
  • MISC
  • USER
  • CAMPUS
  • DIVISION
  • DEPARTMENT
Name Relationship
students many
employees many

Group Object

Response Body
{
    "id": "A1161584171",
    "mis_id": "425",
    "name": "10A",
    "code": "10A",
    "type": "REGISTRATION",
    "description": "10A",
    "notes": null,
    "restored_at": {
        "date": "2015-10-29 14:56:29.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "created_at": {
        "date": "2015-10-29 14:56:29.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 14:56:29.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the groups read permission to view this object.



Name Type Description
id string The ID of the object.
mis_id string The group’s ID in the MIS.
name string Group name.
code string Group code.
type string
  • REGISTRATION
  • YEAR
  • HOUSE
  • BOARDING
  • COURSE
  • MISC
  • USER
  • CAMPUS
  • DIVISION
  • DEPARTMENT

description string
nullable
notes string
nullable
restored_at datetime When the Wonde ID was restored from the deletions data
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Lessons

GET Lessons

Please be aware that the lessons endpoint will only return one academic week of data at a time. Even in the event of specifying the ‘lessons_start_after’ parameter you would only return that academic week.

The 'employee' include (‘?include=employee’) denotes the primary employee for the lesson.

You can utilise the 'employees' include (‘?include=employees’) to get all employees associated with the lesson.

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/lessons"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/lessons/{lesson_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A749126774",
            "room": "A1161584171",
            "period": "A1161584171",
            "period_instance_id": "40860",
            "employee": null,
            "start_at": {
                "date": "2016-02-22 09:15:00.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "end_at": {
                "date": "2016-02-22 10:15:00.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2016-02-08 11:25:28.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-02-08 11:25:28.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/A1329183376/lessons?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "class",
            "employee",
            "employees",
            "period",
            "room"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
lessons_start_after date Return rows starting after date.
lessons_start_before date Return rows starting before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
period one
class one
employee one
employees many
room one

Lesson Object

Response Body
{
    "id": "A473090460",
    "room": "A1529934786",
    "period": "A1299388415",
    "employee_id": "A1656263924",
    "period_instance_id": "40716",
    "alternative": false,
    "start_at": {
        "date": "2015-12-16 09:15:00.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "end_at": {
        "date": "2015-12-16 10:15:00.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "created_at": {
        "date": "2015-12-03 19:11:55.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-12-03 19:11:55.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the lessons read permission to view this object.





Name Type Description
id string The ID of the object.
room string
nullable
The ID of the room the lesson will be taught in.
period string
nullable
The ID of the period the lesson occurs during.
employee_id string
nullable
The ID of the main class teacher for this lesson.
period_instance_id int
nullable
All lessons happening during the same period have the same period_instance_id. This value can be used to match lessons and attendance as SIMS records a mark for a period instance not a lesson instance.
alternative boolean
nullable
The lesson is an alternative to another lesson.
start_at datetime When the lesson starts.
end_at datetime When the lesson ends.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Medical Conditions

GET Medical Conditions

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/medical-conditions"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/medical-conditions/{medical_condition_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A305357470",
            "description": "Asthma",
            "date_received": {
                "date": "2011-10-31 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "severity": "Mild",
            "created_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A674629161",
            "description": "Myalgic Encephalopathy",
            "date_received": {
                "date": "2013-08-22 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "severity": "Mild",
            "created_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/A1329183376/medical_conditions?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "student",
            "notes"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
student one
notes many

Medical Condition Object

Response Body
{
    "id": "A305357470",
    "description": "Asthma",
    "date_received": {
        "date": "2011-10-31 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "severity": "Mild",
    "created_at": {
        "date": "2016-06-03 09:17:10.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-06-03 09:17:10.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the medical conditions read permission to view this object.


Name Type Description
id string The ID of the object.
description string Text description of the medical condition.
date_received date
nullable
Date information about the medical condition was provided to the school.
severity string Severity of the medical condition.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Medical Events

GET Medical Events

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/medical-events"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/medical-events/{medical_event_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A2022114844",
            "description": "General Illness",
            "type": "Illness",
            "date": {
                "date": "2014-09-09 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "follow_up_date": null,
            "created_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A2130434999",
            "description": "Accident",
            "type": "Accident",
            "date": {
                "date": "2014-09-10 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "follow_up_date": null,
            "created_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/A1329183376/medical_events?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "student",
            "notes"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
student one
notes many

Medical Events Object

Response Body
{
    "id": "A15840368",
    "description": "General Illness",
    "type": "Illness",
    "date": {
        "date": "2014-09-15 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "follow_up_date": null,
    "created_at": {
        "date": "2016-06-03 09:17:10.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-06-03 09:17:10.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the medical events read permission to view this object.

Name Type Description
id string The ID of the object.
description string Text description of the medical event.
type string The type of the medical event.
date date
nullable
The date of the medical event.
follow_up_date date
nullable
The follow up date of the medical event.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Medical Notes

GET Medical Notes

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/medical-notes"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/medical-notes/{medical_note_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A2022114844",
            "title": "Historical Details",
            "note": "Condition received from previous school. Diagnosed in 2007.",
            "date": {
                "date": "2014-09-09 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "follow_up_date": null,
            "created_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A2130434999",
            "title": "Accident",
            "note": "Accident",
            "date": {
                "date": "2014-09-10 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "follow_up_date": null,
            "created_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-06-03 09:17:10.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/A1329183376/medical_notes?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "student"
        ]
    }
}

To retrieve medical notes:

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
student one

Medical Notes Object

Response Body
{
    "id": "A1529934786",
    "mis_id": "5575",
    "title": "Historical Details",
    "note": "Condition received from previous school. Diagnosed in 2007.",
    "created_at": {
        "date": "2016-10-31 17:04:19.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-10-31 17:04:19.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the medical conditions read permission to view this object.


Name Type Description
id string The ID of the object.
mis_id string The note’s ID in the MIS.
title string
nullable
Title of note.
note string
nullable
Main body of note.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Periods

GET Periods

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/periods"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/periods/{period_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "start_time": "09:05:00",
            "end_time": "09:45:00",
            "name": "Mon 1",
            "day": "monday",
            "day_number": 1,
            "description": "Monday 1st",
            "created_at": {
                "date": "2015-10-29 10:32:22.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 10:32:22.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1161584171",
            "start_time": "09:15:00",
            "end_time": "10:15:00",
            "name": "Mon:1",
            "day": "monday",
            "day_number": 1,
            "description": "Monday 1st",
            "created_at": {
                "date": "2015-10-29 10:32:22.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 10:32:22.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/periods/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "lessons",
            "lessons.room",
            "lessons.class",
            "lessons.class.subject"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
day_number int
nullable
View period day number data
description string
nullable
Description
Name Relationship
lessons many
lessons.room many > one
lessons.class many > one
lessons.class.subject many > one > one

Period Object

Response Body
{
    "id": "A1161584171",
    "start_time": "09:15:00",
    "end_time": "10:15:00",
    "name": "Mon:1",
    "day": "monday",
    "created_at": {
        "date": "2015-10-29 10:32:22.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 10:32:22.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the lessons read permission to view this object.


Name Type Description
id string The ID of the object.
start_time string The time the period starts.
end_time string The time the period ends.
name string The period’s name.
day string
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Photos

GET Photos

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/photos"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/photos/{photo_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1376464588",
            "content": "base64 encoded string",
            "person_id": "A2032141745",
            "person_mis_id": "1",
            "person_type": "STUDENT",
            "created_at": {
                "date": "2015-10-29 14:59:09.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:59:09.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A681203527",
            "content": "base64 encoded string",
            "person_id": "A2073136658",
            "person_mis_id": "2",
            "person_type": "EMPLOYEE",
            "created_at": {
                "date": "2015-10-29 14:59:15.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 14:59:15.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/photos/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": []
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.

Photo Object

Response Body
{
    "id": "A681203527",
    "content": "base64 encoded string",
    "person_id": "A2073136658",
    "person_mis_id": "1",
    "person_type": "STUDENT",
    "created_at": {
        "date": "2015-10-29 14:59:15.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 14:59:15.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the photo read permission to view this object.


Name Type Description
id string The ID of the object.
content string Base 64 encoded image.
person_id string student / contact / employee id.
person_mis_id string student / contact / employee mis id.
Only present when accessing object through photos endpoint.
person_type string
  • EMPLOYEE
  • STUDENT
  • CONTACT
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Rooms

GET Rooms

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/rooms"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/rooms/{room_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1329183376",
            "code": "A1",
            "name": "Art Room 1",
            "created_at": {
                "date": "2015-10-29 10:27:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 10:27:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1161584171",
            "code": "A2",
            "name": "Art Room 2",
            "created_at": {
                "date": "2015-10-29 10:27:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 10:27:44.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/rooms/?per_page=2&page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "lessons",
            "lessons.class",
            "lessons.class.subject",
            "lessons.period"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.

Room Object

Response Body
{
    "id": "A1329183376",
    "code": "A1",
    "name": "Art Room 1",
    "created_at": {
        "date": "2015-10-29 10:27:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 10:27:44.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

The subject object contains basic information about an academic subject. You need the room read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The room's ID in the MIS.
code string Short identifier for the room.
name string The room’s name.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Students

Wonde holds records for students that are currently on roll at the school, as well as more limited information for students who will be attending soon (see Students Pre-Admittance below).

GET students

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/students"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/students/{student_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1749191433",
            "upi": "8d444684b7aa79bc97f8594a4aab7ce3",
            "mis_id": "9919",
            "initials": "RB",
            "title": "Ms",
            "surname": "Bennett",
            "forename": "Ruth",
            "middle_names": null,
            "legal_surname": "Bennett",
            "legal_forename": "Ruth",
            "gender": "FEMALE",
            "gender_identity": null,
            "date_of_birth": {
                "date": "2002-09-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "restored_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1849765024",
            "mis_id": "8404",
            "initials": "TS",
            "title": "Mr",
            "surname": "Smith",
            "forename": "Tom",
            "middle_names": null,
            "legal_surname": "Smith",
            "legal_forename": "Tom",
            "gender": "MALE",
            "gender_identity": null,
            "date_of_birth": {
                "date": "2000-07-24 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "restored_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/students/?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "classes",
            "classes.subject",
            "education_details",
            "contact_details",
            "attendance_summary",
            "extended_details",
            "contacts",
            "contacts.contact_details",
            "year",
            "year.employees",
            "house",
            "house.employees",
            "registration",
            "registration.employees",
            "groups",
            "groups.employees",
            "campus",
            "permissions",
            "identifiers",
            "behaviours",
            "behaviours.employees",
            "achievements",
            "achievements.employees",
            "photo",
            "sen_needs",
            "siblings",
            "medical_conditions",
            "medical_conditions.notes",
            "medical_events",
            "medical_notes",
            "doctors",
            "in_care_date_ranges",
            "sen_date_ranges",
            "fsm_date_ranges",
            "user_defined_fields",
            "results",
            "results.aspect",
            "exclusions",
            "child_protection_plan_date_ranges",
            "upfsm_exception_date_ranges"
            "regional_data"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
aspect_id string If including results, restrict to those for this aspect ID only.
user_defined_field string Filter students by user defined field key.
only_user_defined_fields string Filter user defined fields by comma separated list.
only_upns string Filter UPNs by comma separated list.
only_mis_ids string Filter MIS ids by comma separated list.
Name Relationship
classes many
classes.employees many
classes.subject many > one
education_details one
contact_details one
attendance_summary one
extended_details one
contacts many
contacts.contact_details many > one
year one (nullable)
year.employees one (nullable) > many
house one (nullable)
house.employees one (nullable) > many
registration one (nullable)
registration.employees one (nullable) > many
boarding one (nullable)
boarding.employees one (nullable) > many
groups many
groups.employees many > many
campus one (nullable)
permissions one
identifiers one
behaviours many
behaviours.employees many > many
achievements many
achievements.employees many > many
photo one
sen_needs many
siblings many
medical_conditions many
medical_conditions.notes many > many
medical_events many
medical_events.notes many > many
medical_notes many
doctors many
in_care_date_ranges many
sen_date_ranges many
fsm_date_ranges many
user_defined_fields many
results many
results.aspect many > one
results.resultset many > one
exclusions many
child_protection_plan_date_ranges many
upfsm_exception_date_ranges many
regional_data many

Student Object

Response Body
{
    "id": "A1749191433",
    "upi": "8d444684b7aa79bc97f8594a4aab7ce3",
    "mis_id": "9919",
    "initials": "TS",
    "title": "Mr",
    "surname": "Smith",
    "forename": "Tom",
    "middle_names": null,
    "legal_surname": "Smith",
    "legal_forename": "Tom",
    "gender": "MALE",
    "gender_identity": null,
    "date_of_birth": {
        "date": "2002-09-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "restored_at": {
        "date": "2002-09-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "created_at": {
        "date": "2016-07-14 10:26:12.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-07-15 09:59:05.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the students read permission to view this object.

Name Type Description
id string The ID of the object.
upi string Unique Person Identifier - This field is the mis_id and school_id combined to create a unique hash.

There are benefits of using the UPI when matching users, for example, when a student is disenrolled the student will be removed from Wonde. If that student is then re-enrolled the Wonde ID will change but the UPI will remain the same.

Make sure to not mistake this field with UPN.
mis_id string The student’s ID in the MIS.
initials string
nullable
The student’s initials.
title nullable
string
The student’s title.
surname string The student’s last name.
forename string
nullable
The student’s first name.
middle_names nullable
string
The student’s middle names.
legal_surname string
nullable
The student’s legal last name.
legal_forename string
nullable
The student’s legal first name.
gender string The student’s gender.
  • male
  • female
  • intersex or indeterminate
  • not stated/inadequately described
  • redacted for privacy
  • other
gender_identity string The student’s gender identity.

The student’s inner concept of self as male, female, neither or a blend of both.

This definition is inline with the guidance provided by the DfE.
date_of_birth date The student’s date of birth.
restored_at datetime When the Wonde ID was restored from the deletions data
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Education Details Object

Response Body
{
    "education_details": {
        "data": {
            "admission_number": "004504",
            "upn": "N823432113104",
            "local_upn": "N823432113107",
            "former_upn": "N823432113102",
            "learner_number": "5142333720",
            "current_nc_year": "6",
            "part_time": false,
            "part_time_rate": 1,
            "admission_date": {
                "date": "2014-09-03 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "leaving_date": {
                "date": "2016-09-03 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            }
        }
    }
}

You need the students read permission to view this object.

Name Type Description
admission_number string
nullable
The student admission number is an auto incrementing ID given to students in SIMS.
local_upn string
nullable
Local authority unique pupil number.
upn string
nullable
Unique pupil number.
former_upn string
nullable
Previous unique pupil number.
learner_number string
nullable
Unique learner number.
current_nc_year string
nullable
Current National Curriculum year.
part_time boolean
nullable
Is the student part time.
part_time_rate string
nullable
Rate of the part time.
admission_date date
nullable
Student’s admission date.
leaving_date date
nullable
Student’s leaving date.

Student Identifiers Object

Response Body
{
    "identifiers": {
        "data": {
            "active_directory_username": "username",
            "barcode": "ADSVASW32131FE",
            "username": "JBloggs12",
            "passport_number": "5313480007"
            "department_id": "38547534"
        }
    }
}

You need the students read permission to view this object.

Name Type Description
active_directory_username string
nullable
The active directory username used to identify the student.
barcode string
nullable
A barcode used to identify the student.
username string
nullable
The MIS username used to identify the student.
passport_number string
nullable
A passport number used to identify the student.
department_id string
nullable
A department pupil ID used to identify the student.

Special Education Needs Object

Response Body
{
    "id": "A1329183376",
    "description": "Stan's behaviour is proving to be challenging and he seems to have difficulty in relating to his peers.",
    "rank": 1,
    "category_code": "SEMH",
    "category_description": "Social, Emotional and Mental Health",
    "type_code": "SEMH",
    "type_description": "Social, Emotional and Mental Health",
    "start_date": {
        "date": "2014-10-20 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "end_date": null,
    "created_at": {
        "date": "2016-06-03 08:57:35.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-06-03 08:57:35.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the special education needs read permission to view this object.

Name Type Description
id string The ID of the object.
description string
nullable
Text note describing the special education need.
rank integer
nullable
The ranking of the special need.
category_code string
nullable
The code assigned to the category the special need falls into.
category_description string
nullable
Text note describing the category.
type_code string
nullable
The code assigned to the type of the special need.
type_description string
nullable
The description assigned to the type of the special need.
start_date date
nullable
end_date date
nullable
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Siblings Object

Response Body
{
    "siblings": {
        "data": [
            {
                "id": "A1329183376",
                "name": "Ruth Bennett",
                "on_roll": true,
                "student": "A1161584171",
                "data_of_birth": {
                    "date": "2000-07-24 00:00:00.000000",
                    "timezone_type": 3,
                    "timezone": "Europe/London"
                },
                "created_at": {
                    "date": "2017-02-28 21:21:07.000000",
                    "timezone_type": 3,
                    "timezone": "UTC"
                },
                "updated_at": {
                    "date": "2017-02-28 21:21:07.000000",
                    "timezone_type": 3,
                    "timezone": "UTC"
                }
            }
        ]
    }
}

You need the siblings read permission to view this object.

Name Type Description
id string The ID of the object.
name string
nullable
The sibling's name.
on_roll boolean
nullable
Is the sibling on roll at the school.
student string
object
nullable
This is the ID of the student this sibling relates to. This field will be null if the sibling is no longer on role. This field will be replaced by the student object when using the siblings.student include.
date_of_birth date The sibling’s date of birth.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Permissions Object

Response Body
{
    "permissions": {
        "data": {
            "photograph_student": false,
            "internet_access": false,
            "sex_education": false,
            "school_visit": false,
            "data_exchange": false,
            "copyright_permission": false,
            "photo_permissions": "Web,School Publications"
        }
    }
}

You need the students read permission to view this object.

Name Type Description
photograph_student boolean
nullable
Have the parents given photograph student permission.
internet_access boolean
nullable
Have the parents given internet access permission.
sex_education boolean
nullable
Have the parents given sex education permission.
school_visit boolean
nullable
Have the parents given school visit permission.
data_exchange boolean
nullable
Have the parents given data exchange permission.
copyright_permission boolean
nullable
Have the parents given copyright permission.
photo_permissions string
nullable
Determines which photo permissions were approved by parents - stored as comma separated values. (Each MIS/SIS can have different values so this will need to be considered when consuming this data).

Attribute Date Ranges Object

You need the students read permission to view this object.

Response Body
{
    "mis_id": "123",
    "start_date": {
        "date": "2016-09-06 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "end_date": {
        "date": "2016-07-31 23:59:59.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "notes": "This is a comment",
    "created_at": {
        "date": "2016-03-16 15:23:42.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-03-16 15:23:42.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
}

Name Type Description
mis_id string The group’s ID in the MIS.
start_date datetime
nullable
Date attribute started.
notes string
nullable
Additional information
end_date datetime
nullable
Date attribute ended.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

User Defined Fields Object

Response Body

{
    "id": "A1947362953",
    "key": "Locker Number",
    "value": "37",
    "type": "int",
    "created_at": {
        "date": "2017-06-12 18:14:49.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2017-06-12 18:14:49.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the user defined fields read permission to view this object.

Name Type Description
id string The ID of the object.
key string
The key of the custom field.
value string
nullable
The value of the custom field.
type string
nullable
The data type of the custom field.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Dietary Details Object

Response Body
{
    "dietary_details": {
        "data": {
            "monday_meal_type": "School Meal",
            "monday_meal_type_code": "SM",
            "tuesday_meal_type": "Packed Lunch",
            "tuesday_meal_type_code": "PL",
            "wednesday_meal_type": "Packed Lunch",
            "wednesday_meal_type_code": "PL",
            "thursday_meal_type": "Packed Lunch",
            "thursday_meal_type_code": "PL",
            "friday_meal_type": "Packed Lunch",
            "friday_meal_type_code": "PL",
            "created_at": {
                "date": "2018-08-09 14:39:20.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "updated_at": {
                "date": "2018-08-09 14:39:20.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            }
        }
    }
}

You need the dietary details read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The dietary detail's ID in the MIS.
monday_meal_type string The meal type for Monday.
monday_meal_type_code string The meal type code for Monday.
tuesday_meal_type string The meal type for Tuesday.
tuesday_meal_type_code string The meal type code for Tuesday.
wednesday_meal_type string The meal type for Wednesday.
wednesday_meal_type_code string The meal type code for Wednesday.
thursday_meal_type string The meal type for Thursday.
thursday_meal_type_code string The meal type code for Thursday.
friday_meal_type string The meal type for Friday.
friday_meal_type_code string The meal type code for Friday.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Regional Data Object

Response Body
{
    "regional_data": {
        "data": {
            "taught_welsh_at_school": false,
            "fsm_transitional_protection_effective_date": {
                "date": "2014-09-03 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "welsh_at_home": false,
            "welsh_fluency": false,
            "upfsm_eligibility": false,
            "upfsm_exception": false
        }
    }
}

You need the regional data read permission to view this object.

Name Type Description
taught_welsh_at_school text
nullable
UK region, Welsh specific field.
fsm_transitional_protection_effective_date date
nullable
UK region, Welsh specific field.
welsh_at_home text
nullable
UK region, Welsh specific field.
welsh_fluency text
nullable
UK region, Welsh specific field.
upfsm_eligibility boolean
nullable
UK region, Welsh specific field. Is student eligible for UPFSM.
upfsm_exception boolean
nullable
UK region, Welsh specific field. Does this student have an active exemption for UPFSM.
aboriginality string
nullable
Australia region specific field.
government_id string
nullable
Australia region specific field.
government_mceetya string
nullable
Australia region specific field.
usi string
nullable
Australia region specific field.
srn string
nullable
Australia region specific field.
iwi string
nullable
Australia region specific field.

Pre-Admission Students

GET Pre-admission Students

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/students-pre-admission"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/students-pre-admission/{student_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1749191433",
            "upi": "8d444684b7aa79bc97f8594a4aab7ce3",
            "mis_id": "9919",
            "initials": "RB",
            "title": "Ms",
            "surname": "Bennett",
            "forename": "Ruth",
            "middle_names": null,
            "legal_surname": "Bennett",
            "legal_forename": "Ruth",
            "gender": "FEMALE",
            "gender_identity": null,
            "date_of_birth": {
                "date": "2002-09-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "restored_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1849765024",
            "mis_id": "8404",
            "initials": "TS",
            "title": "Mr",
            "surname": "Smith",
            "forename": "Tom",
            "middle_names": null,
            "legal_surname": "Smith",
            "legal_forename": "Tom",
            "gender": "MALE",
            "gender_identity": null,
            "date_of_birth": {
                "date": "2000-07-24 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "restored_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/students/?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "education_details",
            "contact_details",
            "extended_details",
            "contacts",
            "contacts.contact_details",
            "groups",
            "groups.employees",
            "permissions"
        ]
    }
}

While the information available on pre-admission students is broadly similar to other students, there are a few limitations to be aware of:

Once a pre-admission student becomes a normal student, these limitations will no longer apply. They will be converted to a normal student object automatically (normally at the start of the new school year) and their Wonde ID will not change.

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
education_details one
contact_details one
extended_details one
contacts many
contacts.contact_details many > one
groups many
groups.employees many > many
permissions one

Pre-admission Student Object

Response Body
{
    "id": "A1749191433",
    "upi": "8d444684b7aa79bc97f8594a4aab7ce3",
    "mis_id": "9919",
    "initials": "TS",
    "title": "Mr",
    "surname": "Smith",
    "forename": "Tom",
    "middle_names": null,
    "legal_surname": "Smith",
    "legal_forename": "Tom",
    "gender": "MALE",
    "gender_identity": null,
    "date_of_birth": {
        "date": "2002-09-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "restored_at": {
        "date": "2016-07-14 10:26:12.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "created_at": {
        "date": "2016-07-14 10:26:12.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-07-15 09:59:05.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the students pre-admission read permission to view this object.

Name Type Description
id string The ID of the object.
upi string Unique Person Identifier - This field is the mis_id and school_id combined to create a unique hash.

There are benefits of using the UPI when matching users, for example, when a student is disenrolled the student will be removed from Wonde. If that student is then re-enrolled the Wonde ID will change but the UPI will remain the same.

Make sure to not mistake this field with UPN.
mis_id string The student’s ID in the MIS.
initials string
nullable
The student’s initials.
title nullable
string
The student’s title.
surname string The student’s last name.
forename string
nullable
The student’s first name.
middle_names nullable
string
The student’s middle names.
legal_surname string
nullable
The student’s legal last name.
legal_forename string
nullable
The student’s legal first name.
gender string The student’s gender.
  • male
  • female
  • intersex or indeterminate
  • not stated/inadequately described
  • redacted for privacy
  • other
gender_identity string The student’s gender identity.

The student’s inner concept of self as male, female, neither or a blend of both.

This definition is inline with the guidance provided by the DfE.
date_of_birth date The student’s date of birth.
restored_at datetime When the Wonde ID was restored from the deletions data
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Education Details Object

Response Body
{
    "education_details": {
        "data": {
            "admission_number": "004504",
            "upn": "N823432113104",
            "local_upn": "N823432113107",
            "former_upn": "N823432113102",
            "learner_number": "5142333720",
            "current_nc_year": "6",
            "part_time": false,
            "part_time_rate": 1,
            "admission_date": {
                "date": "2014-09-03 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "leaving_date": {
                "date": "2016-09-03 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            }
        }
    }
}

You need the students pre-admission read permission to view this object.

Name Type Description
admission_number string
nullable
The student admission number is an auto incrementing ID given to students in SIMS.
local_upn string
nullable
Local authority unique pupil number.
upn string
nullable
Unique pupil number.
former_upn string
nullable
Previous unique pupil number.
learner_number string
nullable
Unique learner number.
current_nc_year string
nullable
Current National Curriculum year.
part_time boolean
nullable
Is the student part time.
part_time_rate string
nullable
Rate of the part time.
admission_date date
nullable
Student’s admission date.
leaving_date date
nullable
Student’s leaving date.

Pre-admission Student Identifiers Object

Response Body
{
    "identifiers": {
        "data": {
            "barcode": "ADSVASW32131FE",
            "active_directory_username": "username"
        }
    }
}

You need the students pre admission read permission to view this object.

Name Type Description
barcode string
nullable
A barcode used to identify the student.
active_directory_username string
nullable
The active directory username used to identify the student.

Permissions Object

Response Body
{
    "permissions": {
        "data": {
            "photograph_student": false,
            "internet_access": false,
            "sex_education": false,
            "school_visit": false,
            "data_exchange": false,
            "copyright_permission": false,
            "photo_permissions": "Web,School Publications"
        }
    }
}

You need the students pre-admission read permission to view this object.

Name Type Description
photograph_student boolean
nullable
Have the parents given photograph student permission.
internet_access boolean
nullable
Have the parents given internet access permission.
sex_education boolean
nullable
Have the parents given sex education permission.
school_visit boolean
nullable
Have the parents given school visit permission.
data_exchange boolean
nullable
Have the parents given data exchange permission.
copyright_permission boolean
nullable
Have the parents given copyright permission.
photo_permissions string
nullable
Determines which photo permissions were approved by parents - stored as comma separated values. (Each MIS/SIS can have different values so this will need to be considered when consuming this data).

Student Leavers

GET Student Leavers

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/students-leaver"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/students-leaver/{student_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1749191433",
            "upi": "8d444684b7aa79bc97f8594a4aab7ce3",
            "mis_id": "9919",
            "initials": "RB",
            "title": "Ms",
            "surname": "Bennett",
            "forename": "Ruth",
            "middle_names": null,
            "legal_surname": "Bennett",
            "legal_forename": "Ruth",
            "gender": "FEMALE",
            "gender_identity": null,
            "date_of_birth": {
                "date": "2002-09-29 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "restored_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
        },
        {
            "id": "A1849765024",
            "mis_id": "8404",
            "initials": "TS",
            "title": "Mr",
            "surname": "Smith",
            "forename": "Tom",
            "middle_names": null,
            "legal_surname": "Smith",
            "legal_forename": "Tom",
            "gender": "MALE",
            "gender_identity": null,
            "date_of_birth": {
                "date": "2000-07-24 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "restored_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "created_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-22 20:11:20.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/students-leaver/?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        },
        "includes": [
            "education_details",
            "contact_details",
            "extended_details",
            "permissions"
        ]
    }
}

While the information available on leavers students is broadly similar to other students, there are a few limitations to be aware of:

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
Name Relationship
education_details one
contact_details one
extended_details one
permissions one

Student Leavers Object

Response Body
{
    "id": "A1749191433",
    "upi": "8d444684b7aa79bc97f8594a4aab7ce3",
    "mis_id": "9919",
    "initials": "TS",
    "title": "Mr",
    "surname": "Smith",
    "forename": "Tom",
    "middle_names": null,
    "legal_surname": "Smith",
    "legal_forename": "Tom",
    "gender": "MALE",
    "gender_identity": null,
    "date_of_birth": {
        "date": "2002-09-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "restored_at": {
        "date": "2002-09-29 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "created_at": {
        "date": "2016-07-14 10:26:12.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-07-15 09:59:05.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the students leavers read permission to view this object.

Name Type Description
id string The ID of the object.
upi string Unique Person Identifier - This field is the mis_id and school_id combined to create a unique hash.

There are benefits of using the UPI when matching users, for example, when a student is disenrolled the student will be removed from Wonde. If that student is then re-enrolled the Wonde ID will change but the UPI will remain the same.

Make sure to not mistake this field with UPN.
mis_id string The student’s ID in the MIS.
initials string
nullable
The student’s initials.
title nullable
string
The student’s title.
surname string The student’s last name.
forename string
nullable
The student’s first name.
middle_names nullable
string
The student’s middle names.
legal_surname string
nullable
The student’s legal last name.
legal_forename string
nullable
The student’s legal first name.
gender string The student’s gender.
  • male
  • female
  • intersex or indeterminate
  • not stated/inadequately described
  • redacted for privacy
  • other
gender_identity string The student’s gender identity.

The student’s inner concept of self as male, female, neither or a blend of both.

This definition is inline with the guidance provided by the DfE.
date_of_birth date The student’s date of birth.
restored_at datetime When the Wonde ID was restored from the deletions data
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Education Details Object

Response Body
{
    "education_details": {
        "data": {
            "admission_number": "004504",
            "upn": "N823432113104",
            "local_upn": "N823432113107",
            "former_upn": "N823432113102",
            "current_nc_year": "6",
            "part_time": false,
            "part_time_rate": 1,
            "admission_date": {
                "date": "2014-09-03 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "leaving_date": {
                "date": "2016-09-03 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            }
        }
    }
}

You need the students leavers read permission to view this object.

Name Type Description
admission_number string
nullable
The student admission number is an auto incrementing ID given to students in SIMS.
local_upn string
nullable
Local authority unique pupil number.
upn string
nullable
Unique pupil number.
former_upn string
nullable
Previous unique pupil number.
current_nc_year string
nullable
Current National Curriculum year.
part_time boolean
nullable
Is the student part time.
part_time_rate string
nullable
Rate of the part time.
admission_date date
nullable
Student’s admission date.
leaving_date date
nullable
Student’s leaving date.

Student Leavers Identifiers Object

Response Body
{
    "identifiers": {
        "data": {
            "barcode": "ADSVASW32131FE",
            "active_directory_username": "username"
        }
    }
}

You need the students leavers read permission to view this object.

Name Type Description
barcode string
nullable
A barcode used to identify the student.
active_directory_username string
nullable
The active directory username used to identify the student.

Permissions Object

Response Body
{
    "permissions": {
        "data": {
            "photograph_student": false,
            "internet_access": false,
            "sex_education": false,
            "school_visit": false,
            "data_exchange": false,
            "copyright_permission": false,
            "photo_permissions": "Web,School Publications"
        }
    }
}

You need the students leavers read permission to view this object.

Name Type Description
photograph_student boolean
nullable
Have the parents given photograph student permission.
internet_access boolean
nullable
Have the parents given internet access permission.
sex_education boolean
nullable
Have the parents given sex education permission.
school_visit boolean
nullable
Have the parents given school visit permission.
data_exchange boolean
nullable
Have the parents given data exchange permission.
copyright_permission boolean
nullable
Have the parents given copyright permission.
photo_permissions string
nullable
Determines which photo permissions were approved by parents - stored as comma separated values. (Each MIS/SIS can have different values so this will need to be considered when consuming this data).

Student Absences

GET Student Absences

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance/absence"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance/absence/{student_absence}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1744353885",
            "mis_id": "0sfo4-wfer-r3gg23-nm762ca-098j",
            "student": "A7639428573",
            "event_type": "sign in",
            "start_at": {
                "date": "2016-08-02 08:30:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "end_at": {
                "date": "2016-08-02 09:30:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "absence_type": "Justified with school policy",
            "reason": "School Nurse",
            "comment": "Sickness",
            "authorised_by": "A8294679863",
            "created_at": {
                "date": "2016-08-06 09:14:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-08-06 09:14:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1744353885",
            "mis_id": "0sfo4-wfer-r3gg23-nm762ca-098j",
            "student": "A7639428573",
            "event_type": "sign out",
            "start_at": {
                "date": "2016-08-03 14:30:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "end_at": {
                "date": "2016-08-03 15:30:00.000000",
                "timezone_type": 3,
                "timezone": "Europe/London"
            },
            "absence_type": "Justified with school policy",
            "reason": "School Nurse",
            "comment": "Sickness",
            "authorised_by": "A8294679863",
            "created_at": {
                "date": "2016-08-07 09:14:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2016-08-7 09:14:51.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/attendance/absence/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        }
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
absence_start_at_before date Return rows where absences start before date.
absence_start_at_after date Return rows where absences start after date.
absence_start_at_from date Return rows where absences start from date.
absence_start_at_to date Return rows where absences start to date.
absence_end_at_before date Return rows where absences end before date.
absence_end_at_after date Return rows where absences end after date.
absence_end_at_from date Return rows where absences end from date.
absence_end_at_to date Return rows where absences end to date.
student id Only absences associated to provided student.
Name Relationship
student one
authorised_by one

POST Student Absences

Curl example
curl -X POST -H "Authorization: Bearer API_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{
    "absence": [
        {
            "student_id": "A1849765024",
            "start_at": "2018-01-29 08:00:00",
            "end_at": "2018-01-29 17:00:00",
            "event_type": "sign in",
            "absence_type": "Sickness",
            "reason": "School nurse",
            "comment": "Student caught flu.",
            "authorised_by": "A960618364"
        }
    ]}' "https://api.wonde.com/v1.0/schools/{school_id}/attendance/absence"

Request body

Request Body
{
     "absence": [
         {
             "student_id": "A1849765024",
             "start_at": "2018-01-29 08:00:00",
             "end_at": "2018-01-29 17:00:00",
             "event_type": "sign in",
             "absence_type": "Sickness",
             "reason": "School nurse",
             "comment": "Student caught flu",
             "authorised_by": "A960618364"
         },
         {
             "student_id": "A1849765024",
             "start_at": "2018-01-29 08:00:00",
             "end_at": "2018-01-29 14:00:00",
             "event_type": "sign in",
             "absence_type": "Sickness",
             "reason": "School nurse",
             "comment": "Student caught flu",
             "authorised_by": "A960618364"
         },
     ]
 }

An example of the request body is provided on the right.
The attribute values that must be set to successfully create employee absences are:

Name type Required Description
student_id string Yes The Wonde ID for the student.
start_at datetime Yes The absence’s start date and time.
end_at datetime
nullable
No The absence’s end date and time.
event_type string Yes The absence’s event type.
  • sign in
  • sign out
  • all day absence
  • expected in
  • expected out
  • expected out and in
absence_type string Yes Type of absence. See attributes ABSENCE_TYPE.
reason string No Reason of absence. See attributes ABSENCE_REASON.
comment string No Comment to absence.
authorised_by string No The Wonde ID for the employee.

Response body

Response Body
{
  "writeback_id": "A18098738"
}

If your request fails validation the response will contain the validation errors. If your request passes validation you will receive a writeback_id which can be used to check the status of the writeback.

Student Absence Object

Response Body
{
    "id": "A1744353885",
    "mis_id": "0sfo4-wfer-r3gg23-nm762ca-098j",
    "student": "A7639428573",
    "event_type": "sign in",
    "start_at": {
        "date": "2016-08-02 08:30:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "end_at": {
        "date": "2016-08-02 09:30:00.000000",
        "timezone_type": 3,
        "timezone": "Europe/London"
    },
    "absence_type": "Justified with school policy",
    "reason": "School Nurse",
    "comment": "Sickness",
    "authorised_by": "A8294679863",
    "created_at": {
        "date": "2016-08-06 09:14:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2016-08-06 09:14:51.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the student-absences.read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The student absence’s ID in the MIS.
student string The student this absence belongs to.
start_at datetime When the absence began.
end_at datetime When the absence ended.
absence_type string sign in
reason nullable
string
The reason of absence.
comment nullable
string
The comment of absence.
authorised_by string
nullable
The employee that authorised the absence.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Student Absence Attributes

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/attendance/absence/attributes"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1886858204",
            "mis_id": "75",
            "type": "ABSENCE_REASON",
            "code": "DIG",
            "active": true,
            "description": "Digestive illness",
            "created_at": {
                "date": "2018-01-19 13:21:01.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2018-01-19 13:21:01.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A572063017",
            "mis_id": "76",
            "type": "ABSENCE_TYPE",
            "code": "TRA",
            "active": true,
            "description": "Training",
            "created_at": {
                "date": "2018-01-19 13:21:01.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2018-01-19 13:21:01.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/attendance/absence/attributes?page=2",
            "previous": null,
            "more": true,
            "per_page": 50,
            "current_page": 1
        }
    }
}

You need the student-absences.read permission to view this resource.

Type Information / Examples
ABSENCE_TYPE This is the type of absence. This is required for Synergetic.
ABSENCE_REASON This is the reason of absence.

Not all absences will be attributed to an illness, so this is not a required field.

Subjects

GET Subjects

Curl example
curl "https://api.wonde.com/v1.0/schools/{school_id}/subjects"
    -H "Authorization: Bearer API_ACCESS_TOKEN"

    curl "https://api.wonde.com/v1.0/schools/{school_id}/subjects/{subject_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data": [
        {
            "id": "A1529934786",
            "mis_id": 519,
            "code": "Ar",
            "name": "Art",
            "active": true,
            "created_at": {
                "date": "2015-10-29 10:28:15.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 10:28:15.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        },
        {
            "id": "A1362597725",
            "mis_id": 520,
            "code": "Bi",
            "name": "Biology",
            "created_at": {
                "date": "2015-10-29 10:28:15.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            },
            "updated_at": {
                "date": "2015-10-29 10:28:15.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
        }
    ],
    "meta": {
        "pagination": {
            "next": "https://api.wonde.com/v1.0/schools/{school_id}/subjects/?page=2",
            "previous": null,
            "more": true,
            "per_page": "2",
            "current_page": 1
        },
        "includes": [
            "classes",
            "classes.lessons",
            "classes.lessons.period",
            "classes.lessons.room"
        ]
    }
}

Url parameters

Name type Description
updated_after date Return rows modified after date.
updated_before date Return rows modified before date.
per_page int Amount of rows to return.
include string Comma separated list of objects to include.
subject_code string Return results with the provided subject code.
subject_name string Return results with the provided subject name.
Name Relationship
classes many
classes.lessons many > many
classes.lessons.period many > many > one
classes.lessons.room many > many > one

Subject Object

Response Body
{
    "id": "A1362597725",
    "mis_id": 520,
    "code": "Bi",
    "name": "Biology",
    "active": true,
    "created_at": {
        "date": "2015-10-29 10:28:15.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    },
    "updated_at": {
        "date": "2015-10-29 10:28:15.000000",
        "timezone_type": 3,
        "timezone": "UTC"
    }
}

You need the subject read permission to view this object.

Name Type Description
id string The ID of the object.
mis_id string The subject ID in the MIS.
code string Short identifier for the subject.
name string The subject’s name.
active boolean
nullable
Is the subject active.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.

Writebacks

GET Writeback Object

Curl example
curl "https://api.wonde.com/v1.0/writebacks/{writeback_id}"
    -H "Authorization: Bearer API_ACCESS_TOKEN"
Response Body
{
    "data":{
        "id": "A1529934786",
        "type": ACHIEVEMENT,
        "status": "FAILED",
        "last_attempt": null,
        "next_attempt": null,
        "created_at": {
            "date": "2015-10-29 10:28:15.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "updated_at": {
            "date": "2015-10-29 10:28:15.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        }
    }
}

To POST a writeback please see the individual endpoints. The response from the POST will return a writeback ID which can be used with this endpoint to check the status of the writeback. Please see Webhooks if you would like to receive a notification of a status change of a writeback.

Name Type Description
id string The ID of the writeback.
type string The type of writeback.
status string The status of the writeback.
last_attempt string The last time the writeback was attempted.
next_attempt string The next time the writeback will be attempted.
created_at datetime When the record was added to Wonde.
updated_at datetime When the record was last updated on Wonde.