API reference
Response schema
Every field is always present. Fields marked nullable may be null; arrays may be empty.
Top level
request_idstring
Unique id for this request, e.g. req_RRcfY89zFzXCEAfXjy0f.
api_versionstring
Contract version date, currently 2026-10-01.
statusenum
results · no_results · clarification_needed · out_of_scope.
confidenceenum · nullable
high (direct match) · medium (likely relevant to a described need). null when there are no results. Loose partial matches are never returned as results.
answerstring
Short AI-written explanation, 2–4 sentences, plain text.
follow_up_questionstring · nullable
A question to show the visitor when it would improve results.
interpretedobject
How the question was understood: topic, location, delivery (in_person · online), date_from / date_to (YYYY-MM-DD, UK dates), date_label, max_price_inc_vat, max_price_ex_vat, available_only, notes (e.g. a vague date that wasn't applied).
coursesCourse[]
Matching courses, best first (max 6).
online_activitiesOnlineActivity[]
Self-paced online learning with no fixed dates.
supporting_contentContent[]
Up to 2 related OMS articles or case studies.
unavailable_factsstring[]
Things the visitor asked for that OMS data doesn't include, e.g. "places remaining".
contextstring
Opaque token. Send it back with the visitor's next question. Valid for 2 hours.
Course
idstring (uuid)
Stable OMS search id.
arlo_template_idinteger
OMS booking-system course id.
code / namestring · nullable / string
Course code and name, e.g. "First Aid at Work".
summarystring · nullable
Short course description.
durationstring · nullable
Advertised duration text, e.g. "3 days".
categoriesstring[]
OMS categories.
reasonstring · nullable
One AI-written sentence on why it fits the question.
course_urlstring · nullable
OMS course page.
register_interest_urlstring · nullable
Use when a course has no upcoming dates.
has_upcoming_eventsboolean
false means no bookable dates right now: show register_interest_url instead of dates.
eventsEvent[]
Up to 5 upcoming dates that match the question's filters, soonest first.
Event
id / arlo_event_idstring / integer
Ids for the scheduled date.
namestring
Event name.
start / endstring (ISO 8601) · nullable
With UTC offset, e.g. 2026-11-11T08:30:00+00:00. Display in timezone.
timezone"Europe/London"
Always UK time.
deliveryenum
in_person · online · unknown.
locationobject · nullable
name (e.g. "OMS - Leicester"), venue, city, postcode (all nullable).
priceobject · nullable
amount_inc_vat, amount_ex_vat (numbers, nullable), currency (ISO code, "GBP"). null when no price is published.
booking_statusenum
open (bookable) · full · waiting_list · unavailable · unknown.
booking_messagestring · nullable
OMS's own button text, e.g. "Register" or "Join waiting list".
places_remaininginteger · nullable
Only when OMS publishes a number. null means unknown, not zero: never show a place count when null.
booking_urlstring · nullable
OMS booking link (registration or waiting list). Link to it unchanged.
event_urlstring · nullable
Event details page.
A full event may still have a
booking_url pointing at OMS's waiting list. Use booking_message as the button label.OnlineActivity
id, code, name, summaryAs for courses.
delivery_descriptionstring · nullable
How it's delivered, e.g. e-learning.
price, booking_status, booking_url, url, reasonAs for events and courses.
Content
idstring (uuid)
Stable OMS search id.
wordpress_idinteger
Original WordPress post id on oms.uk.com.
typeenum
article · case_study.
title, excerpt, urlstring
From the OMS website. Link to url.
published_atstring · nullable
ISO 8601.
image_urlstring · nullable
Featured image if available.
Example
"request_id": "req_RRcfY89zFzXCEAfXjy0f",
"api_version": "2026-10-01",
"status": "results",
"confidence": "high",
"answer": "These look like the most relevant first aid options for staff training. The course data shows both in-person and open/waiting list sessions in Leicester, with durations ranging from 1 to 3 days. If you need a basic option, Emergency First Aid at Work is available; if you need a fuller workplace qualification, First Aid at Work and the requalification course are also listed. Mental Health First Aid (England) is included as a related staff course if you also want mental health support training.",
"follow_up_question": null,
"topic": "first aid",
"location": null,
"delivery": null,
"date_from": null,
"date_to": null,
"date_label": null,
"max_price_inc_vat": null,
"max_price_ex_vat": null,
"available_only": false,
"notes": []
},
"id": "7eeed02e-9c94-4e14-80e4-4e993e2e66c0",
"arlo_template_id": 30,
"code": "FA02",
"name": "First Aid at Work",
"summary": "First Aid can literally be a life saver when it comes to workplace accidents, and every workplace should have responsible first aiders on their team. On this course, we cover all the subjects first aiders need to know, and make sure they have the knowledge to step in when accidents or illness strikes. CITB funding is available for this course - per person, per day – for ALL registered companies.",
"duration": "3 Day",
"reason": "First Aid at Work is a 3-day course aimed at nominated first aiders in the workplace, which suits staff needing fuller first aid training.",
"course_url": "http://oms.uk.com//?object_post_type=event&arlo_id=30",
"register_interest_url": "https://oms.arlo.co/register-interest?t=0&e=a918fdb2-4898-41ca-919f-6e862b1faadb",
"has_upcoming_events": true,
},
"id": "e895eb65-9260-4cb5-9fce-22045ee24f39",
"arlo_template_id": 31,
"code": "FA03",
"name": "Emergency First Aid at Work",
"summary": "The qualification will equip the first aider with skills to be able to confidently undertake emergency first aid if someone becomes ill or injured at work and consists of 6 hours of instructor led tuition with the emphasis on practical application of first aid skills",
"duration": "1 Day",
"reason": "Emergency First Aid at Work is a 1-day workplace first aid course designed to give staff the basic skills to respond to illness or injury at work.",
"course_url": "http://oms.uk.com//?object_post_type=event&arlo_id=31",
"register_interest_url": null,
"has_upcoming_events": true,
}
],
"online_activities": [],
"id": "64a1f0c3-0fb1-45b7-bd1a-15c7c6506b6a",
"wordpress_id": 5583,
"type": "article",
"title": "World First Aid Day",
"excerpt": "Every year a the second Saturday in September is World First Aid Day. It’s a day to ensure everyone takes first aid at work seriously by encouraging people to learn and practice first aid techniques so should anything happen to colleagues or indeed family members then you are well placed to provide ",
"url": "https://oms.uk.com/world-first-aid-day/",
"published_at": "2024-09-14T09:10:16+00:00",
"image_url": "https://oms.uk.com/wp-content/uploads/2024/09/First-aid-day.png"
},
"id": "e9a64dd6-bf63-44bf-a846-2922fb0728f3",
"wordpress_id": 5330,
"type": "article",
"title": "The Vital Role of First Aid Training in the Workplace",
"excerpt": "Accidents and medical emergencies can happen at any time and being prepared to respond swiftly can make a significant difference in saving lives. In this blog we will explore the importance of First Aid training, relevant legislation and the significance of hands-on training for nominated first aide",
"url": "https://oms.uk.com/the-vital-role-of-first-aid-training-in-the-workplace/",
"published_at": "2024-01-03T14:15:25+00:00",
"image_url": null
}
],
"unavailable_facts": [],
"context": "eyJwIjp7InYiOjEsInR1cm4iOjEsImxhc3QiOnsi…"
}
Compatibility promise
Within v1, fields are never removed, renamed or retyped. New fields and new enum values may be added: ignore unknown fields and treat unknown enum values like unknown.