Overview
The Mobaro API lets you pull Checklist Results out of your environment as JSON, on demand or on a schedule, without anyone exporting from the backend (an automatic export of raw data). It's the right tool when you want Results flowing automatically into a data warehouse, a BI tool like Power BI or Tableau, or a custom application.
At a glance |
|
Who can do this | Users with Organization › Administrate create the API key. The integration then calls the API with that key. |
Where | Configuration › API › API Keys |
Works on | Public API |
Availability | Enabled per organization by Mobaro — ask your CSM |
💡 Why this matters: Manual exports are fine for a one-off, but they don't scale and they don't stay current. An API integration turns Results into a regular feed: your dashboards refresh themselves, your archive fills itself, and nobody has to remember to export anything. Build it once with sensible filters and it runs quietly in the background.
Before you start
This article assumes you're comfortable making HTTP requests (with curl, Postman, or a scripting language). If the API is new to you, read Getting started with the Mobaro API first. The API uses HTTPS and JSON. The base URL for all requests is:
https://app.mobaro.com/api/customers
API access is enabled per organization by Mobaro. If you don't see the API Keys panel on the API tab under Configuration, ask your CSM or contact Mobaro Support. The API tab can also appear for webhooks alone, without the API Keys panel.
Authenticate with an API key
Every request authenticates with an API key sent in the X-Api-Key header. To create one you need the Organization › Administrate permission.
In the Mobaro backend, go to Configuration › API. The API Keys panel lists your keys.
Select the + button (tooltip Create). In Configure API key, enter a name. Leave Read-only ticked: pulling Results only needs read access. Select Save.
Copy the key from the API key created dialog. It's shown once and can't be recovered, so store it securely before you select Understood.
Include it on every request:
X-Api-Key: YOUR_SECRET_TOKEN
⚠️ Heads-up: An API key can read all of your organization's data, whoever created it. Treat it like a password: store it securely, never embed it in client-side code, and delete it straight away if it is ever exposed. See Understanding API access scopes and limitations.
For more on creating and deleting keys, see Creating and Managing API Keys.
The Results API endpoint
To list completed Checklist Results, send a GET request to:
GET https://app.mobaro.com/api/customers/results
To fetch a single Result, use GET /api/customers/results/{id}. The list response is a page of Results wrapped in an envelope:
{
"offset": 0,
"amount": 20,
"total": 437,
"items": [ { "id": "results/123456-A", "checklistId": "checklists/654321-A", "location": "locations/345678-A", "answered": "2026-01-02T07:41:12Z", "score": 95.0, "values": [ ... ] }, ... ]
}Each Result includes its ID, the Checklist and Location it came from, the Asset and Schedule where relevant, the completing User, when it was started, answered and received, points and score, deviations, approval or disapproval details, and the answers given for each question (values). The example above is shortened.
The API is mainly for data access and automation. It can't create Checklists or change their content. For the authoritative, always-current list of fields and parameters, see the interactive Mobaro API documentation, also available from the book icon (tooltip Open Documentation) on the API Keys panel.
Filter, sort and page Results
Pulling every Result in one go is rarely what you want. Use these parameters to request exactly the slice you need:
Parameter | Purpose |
| Page through Results. Results allow at most 20 per page ( |
| When the Checklist was completed. |
| When Mobaro received the Result. |
| When the Result was last updated, for example by an approval. Useful for picking up changes since your last run. |
| When the Result was approved or disapproved. |
| Restrict to specific records, using full IDs such as |
|
|
⚠️ Heads-up: Results have no CreatedAfter or CreatedBefore filters. Use AnsweredAfter or ReceivedAfter instead. A Limit above 20 is rejected with 400 Bad Request.
Dates use ISO 8601 with a time zone, for example 2026-01-31T23:59:59Z. For every parameter, see Mobaro API parameter reference.
Example monthly Results export
This request pulls the first page of Results completed during January 2026, oldest first, the kind of call you'd run on a schedule:
curl "https://app.mobaro.com/api/customers/results?AnsweredAfter=2026-01-01T00:00:00Z&AnsweredBefore=2026-02-01T00:00:00Z&OrderBy=answered&Limit=20&Offset=0" \
--header "X-Api-Key: YOUR_SECRET_TOKEN"
The response's total tells you how many Results match. Increase Offset by 20 and repeat until you've fetched them all. In Python:
import requests
URL = "https://app.mobaro.com/api/customers/results"
HEADERS = {"X-Api-Key": "YOUR_SECRET_TOKEN"}
params = {
"AnsweredAfter": "2026-01-01T00:00:00Z",
"AnsweredBefore": "2026-02-01T00:00:00Z",
"OrderBy": "answered",
"Limit": 20, # Results allow at most 20 per page
"Offset": 0,
}
results = []
while True:
page = requests.get(URL, headers=HEADERS, params=params).json()
results.extend(page["items"])
params["Offset"] += page["amount"]
if page["amount"] == 0 or params["Offset"] >= page["total"]:
break
Pages are capped at 20 Results, so a busy month takes many requests. Stay below 10 requests per second per key and back off on 429. See Handling errors, rate limits, and retry logic.
No-code and push alternatives
If you'd rather not write or maintain code, Mobaro is available as a Microsoft Power Automate connector. See Getting started with Mobaro's Power Automate connector.
If you want Results pushed to you as they arrive instead of polling, see Using webhooks in Mobaro.
Best practices
Never expose your API key. Keys can read all of your organization's data. Keep them server-side and out of client code.
Use a dedicated, read-only key for each reporting integration. Pulling Results doesn't need write access, so a leaked read-only key can't change data.
Test with curl or Postman first. Confirm the response shape before wiring it into automation.
Use date filters to pull in batches. This keeps each run fast as your data grows.
Set
OrderBywhen paging. This keeps the order stable from page to page.Handle 429 and 503 responses. Back off and retry. See Handling errors, rate limits, and retry logic.
Frequently asked questions
How do I get Mobaro data into Power BI or our reporting tools automatically?
Use the Mobaro API. Create an API key, then have your tool or a script call GET /api/customers/results on a schedule and page through the JSON; the code runs on your side. For scheduled file exports, see How to schedule daily exports from Mobaro using Power Automate.
The API returns question IDs like elements/XXXX instead of the question text. How do I get the questions?
Call GET /api/customers/checklists/{checklistId}?includeContent=true&revision={checklistRevision} with both values from the Result. Without includeContent=true, pages is empty. Match each value's question to an element id in pages; grouped questions are listed in their group's elements.
Where do I create an API key, and why is there no API tab?
Under Configuration › API › API Keys, with Organization › Administrate. If the API tab or API Keys panel is missing, API access isn't enabled for your organization: ask your CSM or contact Mobaro Support. See Creating and Managing API Keys.
Where are the docs for the Power Automate connector?
