
When you first start exploring xAPI, you quickly get familiar with the core structure of a statement: Actor – Verb – Object.
But there’s another field quietly working behind the scenes that can make or break the trustworthiness of your data:
Authority
What is the Authority Field?
Every xAPI statement can include an authority
property. This isn’t about what was done — it’s about who is asserting that it happened.
Think of it like a signature on a document:
- The actor is the person or system that did something.
- The verb is what they did.
- The object is what they did it to.
- And the authority is the organisation, system, or agent that vouches for that record.
Here’s a simplified example of an xAPI statement with the authority field included and highlighted:
{
"actor": {
"name": "Jon Smith",
"mbox": "mailto:jon@example.com"
},
"verb": {
"id": "http://adlnet.gov/expapi/verbs/completed",
"display": { "en-US": "completed" }
},
"object": {
"id": "http://example.com/activities/safety-module-1",
"definition": {
"name": { "en-US": "Safety Module 1" },
"description": { "en-US": "Online safety training module." }
},
"objectType": "Activity"
},
"authority": {
"objectType": "Agent",
"name": "Official LMS",
"mbox": "mailto:lms@example.com"
},
"timestamp": "2025-07-21T10:45:00Z"
}
Notice the authority field:
It clearly identifies who is asserting that this statement is valid — in this example, the Official LMS.
This is crucial when your LRS is collecting data from multiple sources.
Why Is Authority Important?
In a simple setup with one LMS, you might not think twice about authority.
But as soon as you start combining data from multiple sources — LMS, simulations, mobile apps, external assessments — things get messy fast.
Two systems might send the same type of statement:
- “Jon Smith completed Safety Module 1.”
Without an authority field, you don’t know which system issued it:
- Was it the official LMS?
- A test environment someone spun up last month?
- A third‑party tool experimenting with your API?
In regulated industries, audits, or formal assessments, trust matters. The authority field gives you that trail of accountability.
Real‑World Scenarios
Audit requirements: When you need evidence of compliance training, you can filter by authority to show only statements issued by your official LMS.
Multiple tools: If your H5P activities in Moodle and your VR simulator both send statements, you can differentiate between them in reporting.
Sandbox vs production: Quickly exclude statements from a development environment.
Best Practices for Managing Authority
🔹 Document your trusted systems: Keep a list of which platforms are allowed to issue official statements.
🔹 Check your integration settings: Some tools let you configure or override the authority field — make sure it’s set to something meaningful (like your organisation’s name or the LMS identity).
🔹 Filter in your LRS: When building dashboards or reports, include authority as a filter so only data from trusted sources is shown.
Final Thoughts
xAPI isn’t just about collecting more data — it’s about collecting reliable data.
The authority
field might seem like a small detail, but it’s a key part of ensuring your learning records are trustworthy, auditable, and actionable.
💬 How are you managing authorities in your xAPI ecosystem?
I’d love to hear how others are approaching this — share your thoughts in the comments.
Written in collaboration with AI