The eyworks Public API provides secure, authenticated access to selected nursery data for customer integrations, reporting, business intelligence tools and other connected applications.
This guide explains what you need before starting, how to request access, and how to make your first API request. For the complete endpoint reference, including request and response examples, visit the eyworks Public API Postman documentation.
| Requirement | Details |
|---|---|
| API licence | An active API licence for each nursery you want to connect. |
| API credentials | A clientId and clientSecret issued by eyworks. |
| Tenant address | The subdomain for your eyworks account. |
| Technical setup | A system, reporting tool or technical team to make the API requests. |
API credentials are issued for your tenant and are limited to the nurseries and permissions covered by your licence.
Once your API licence is active, the eyworks support team can generate your tenant-specific clientId and clientSecret.
An API licence is required for each nursery you want to connect to the eyworks Public API. To discuss API licensing or arrange a licence, email sales@eyworks.co.uk or visit the eyworks API & CSV page.
Your API address is based on your eyworks tenant:
https://<your-tenant-subdomain>.eylog.co.uk/public/v1Replace <your-tenant-subdomain> with the subdomain supplied for your eyworks account.
Postman lets you review and try the API before building it into your own system.
Open the eyworks Public API Postman documentation to view the available endpoints, request details and response examples.
You can fork or import the collection into your own Postman workspace, then enter your tenant-specific values locally before making requests.
The collection does not include customer credentials or a shared environment. Set your own baseUrl, clientId and clientSecret locally.
| Step | What to do |
|---|---|
| 1 | Open the eyworks Public API Postman documentation. |
| 2 | Fork or import the collection into your own Postman workspace. |
| 3 | Enter your tenant base URL, clientId and clientSecret in your local collection variables. |
| 4 | Request an access token. |
| 5 | Use the token to send requests to the endpoints available to your client. |
Security reminder: Never share your client secret, access token or refresh token.
The API uses an OAuth 2.0-style client credentials flow with bearer access tokens. Use the client credentials supplied by eyworks to request an access token:
POST https://<your-tenant-subdomain>.eylog.co.uk/public/v1/oauth/token
Content-Type: application/json{
"grantType": "client_credentials",
"clientId": "YOUR_CLIENT_ID",
"clientSecret": "YOUR_CLIENT_SECRET"
}Include the returned access token as a bearer token in every protected request:
Authorization: Bearer YOUR_ACCESS_TOKENWhen the access token expires, use the refresh token returned by the token request:
{
"grantType": "refresh_token",
"refreshToken": "YOUR_REFRESH_TOKEN"
}Refresh tokens are single-use. Each refresh request returns a new token pair and invalidates the previous refresh token.
| Token | Validity | Purpose |
|---|---|---|
| Access token | 1 hour | Used to call protected API endpoints. |
| Refresh token | 30 days | Used to obtain new access tokens. |
After authentication, you can start by listing the companies available to your client:
GET https://<your-tenant-subdomain>.eylog.co.uk/public/v1/companies?page=1&pageSize=25
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/jsonUse the company and nursery identifiers returned by the API when making requests for a specific nursery.
Successful responses use a consistent response envelope:
{
"status": true,
"code": 200,
"message": "OK",
"data": {},
"correlationId": "<correlation-id>",
"apiVersion": 1
}| Response type | What to expect |
|---|---|
| List request | An array in data, with pagination under metadata.pagination when applicable. |
| Detail request | An object in data. |
| Validation error | A response with status: false and field-level details in errors when available. |
The data field contains the resource object or collection array directly; it is not wrapped in another named property.
Keep the correlationId when contacting support about a failed request.
| Area | What it allows you to do |
|---|---|
| Companies | Find companies and the nurseries within them. |
| Nurseries | Retrieve nursery details, rooms, employees, children, enquiries and availability. |
| Employees | Retrieve employee details, qualifications and training records. |
| Children | Retrieve child records. |
| Enquiries | Retrieve enquiries and submit new enquiries to a nursery using the enquiries:write scope. |
| Nursery settings | Retrieve lookup values and available sessions used by nursery integrations. |
For detailed routes, query parameters and request/response examples, use the Postman documentation.
Your client is assigned scopes that control which areas of the API it can use:
| Scope | Access |
|---|---|
company:read | Company data. |
nurseries:read | Nursery data, rooms, sessions and company nursery lists. |
employee:read | Employee data, qualifications and training. |
children:read | Children data. |
enquiries:read | Enquiry data and enquiry lookup values. |
enquiries:write | Submit enquiries. |
availability:read | Nursery availability data. |
The scopes assigned to your client are included in the token response. A scope does not provide access to every nursery; access is also limited by your API licence and client permissions.
| Status | What it usually means |
|---|---|
400 | The request format or a parameter is invalid. |
401 | The access token is missing, invalid or expired. |
403 | Your client does not have the required scope or nursery access. |
404 | The requested resource is not available to your client. |
422 | The request failed validation. Check the returned field details. |
429 | Your client has exceeded the permitted request rate. |
500 | The service could not complete the request. Use the correlation ID when contacting support. |
The eyworks Public API is expanded over time. The following capabilities are currently available:
| Available from | Area | Capability |
|---|---|---|
| 18 August 2026 | Enquiries | Create an enquiry for a nursery using POST /nurseries/{guid}/enquiries. |
| 18 August 2026 | Nursery settings | Retrieve enquiry lookup values and available sessions to support nursery integrations. |
| 18 August 2026 | Nursery availability | Retrieve nursery availability using GET /nurseries/{guid}/availability. If no segment is provided, availability is returned using a nursery-level breakdown. |
For API licensing or licence agreements, email sales@eyworks.co.uk. For credentials, onboarding or technical questions, email support@eyworks.co.uk.
When reporting a failed request, include the correlation ID from the response. Do not include client secrets, access tokens or refresh tokens.