List data remediation tasks
The work generated from what the quality checks find, and where each item has got to.
Keyless, on the same reasoning as the gap report: a measurement nobody can see being acted on is a measurement. A task reveals nothing about the catalog that /v1/data/gaps does not.
What this deliberately does not carry is anything identifying the worker: which agent or person holds a task (assignedTo says only whether it is the platform's agent or a person), what value they proposed, and the note they closed it with. An unreviewed answer published beside a record reads as a fact about that record. A proposal becomes public by being accepted into the catalog, which is the surface that already carries values.
States: open (queued), claimed (allocated to a worker), in_progress (being worked), resolved (finished, or the finding disappeared), unverifiable (searched and not findable), not_a_fault (the check was wrong about this record).
No API key required.
Request
- Base URL: https://api.gunspec.io
- URL: https://api.gunspec.io/v1/data/tasks
- Auth: one of:
- none
- API key in header X-API-Key
- HTTP bearer
Query parameters
Only tasks in this state.
Only tasks for one catalog.
Only one check's tasks, by the id the data quality pages print (firearm-weight-fits-its-size); the quality: prefix is optional.
Only tasks about one record field.
Only tasks about one record.
A search: a task number (12879 or #12879), or text found in the record id or the check id.
Only one kind of task.
Where the work stands: queued, working, proposed (answered and waiting on a person) or accepted.
Several checks' tasks at once, comma-separated (at most 40), for a page listing every check that rests on one method. Each id matches with or without its quality: prefix.
open is every task not yet closed (queued or being worked); closed is every closed task, newest closure first.
Closed tasks by who closed them, newest closure first: redback (the platform's agent filed a conclusion nobody has judged yet), redback_accepted (a person accepted what the agent filed) or team (a person worked or closed it, or corrected the record so the check no longer finds it).
research adds each task's research inputs: the rule, the steps, the evidence and the record's own fields. Never the proposal.
How many to return per page.
The page, from 1.
Response
List data remediation tasks
Example response
{
"success": true,
"data": {
"total": 46,
"page": 1,
"perPage": 50,
"tasks": [
{
"taskKey": "contradiction:caliber-confidence-has-a-source:12-gauge-3-5",
"number": 1204,
"research": {
"describes": "Every firearm with a full envelope has an apparent density within 2.5x of its category median.",
"field": "weight_empty_g",
"rules": [
"Check each of the four figures against the maker's page."
],
"evidence": {
"apparentDensity": 0.258,
"categoryMedian": 0.892
},
"record": {
"id": "angstadt-udp-556",
"weight_empty_g": 2268
},
"alreadyCites": [
"https://angstadtarms.com/udp-556"
],
"key": "manufacturer:escort merged_into",
"currentValue": 2268,
"affected": [
"firearm:enfield-no-2",
"firearm:gewehr-43"
]
},
"kind": "contradiction",
"entity": "calibers",
"subject": "12-gauge-3-5",
"finding": "caliber-confidence-has-a-source",
"status": "open",
"records": 1,
"openedAt": "2026-09-15T03:00:12Z",
"startedAt": "2026-09-15T09:14:00Z",
"assignedTo": "redback",
"closedReason": "finding_gone",
"closer": "team"
}
]
},
"pagination": {
"page": 1,
"per_page": 20,
"limit": 20,
"total": 42,
"totalPages": 3
}
}Changes
No recorded changes to this operation across all 1 revision of this API.