Returns player injury designations for a sport from two independent sources, each attributed and separately timestamped, plus a derived consensus where the sources can be matched to the same player with confidence.
Returns player injury designations for a sport from two independent sources, each attributed and separately timestamped, plus a derived consensus where the sources can be matched to the same player with confidence.
Supported sports are nfl and mlb. Other sports return 404.
Every player carries one record per source that covers them, with that source own status, detail and report time. Records are never merged into one another.
record.source is a role label, either primary or secondary, and meta.sources is keyed the same way. It identifies which of the sport two feeds a record came from so you can tell them apart and prefer one consistently. It is stable if a feed is changed underneath it.
consensus is present only when the two sources can be matched to the same player with confidence. When they disagree, consensus.agreement is conflict and consensus.injuryStatus is null, and both records are returned.
Players whose identity could not be established are listed in meta.unresolvedIdentity and carry no consensus. That includes a player whose two spellings differ only by a suffix when nothing else corroborates that they are the same person, since adding a suffix to one of two players is how a league separates a shared name.
consensus.listDaysConflict is true when both sources agree a player is on an injured list but disagree about its length, for example 10 days against 60. The designation still reads as agreeing, so check this flag when the length matters.
meta.sources[source].ageSeconds is null when the age is unknown, and is never 0 as a placeholder. A source is marked stale when its age is unknown, when it is older than 30 minutes, or when it holds no records.
meta.sources[source].checks names the validations that ran on that source own data. Checks are reported per source, never pooled, so one source never inherits another.
Cleared and roster-move designations are excluded by default. Pass includeActive=true to receive them, or name them explicitly in status, which overrides the default view.
There are two clocks and they answer different questions. meta.sources[source].ageSeconds is how long ago we fetched the feed. record.reportAgeSeconds is how long ago that source published the designation itself, which is the one that tells you whether a status is current.
record.reportAgeSeconds is null when a source publishes no timestamp of its own, and is never 0 as a placeholder. player.reportAge counts how many of a player records could be dated and how many could not, so a partly dated player is visible as such.
consensus.stale is true when every dated record behind a designation is older than consensus.staleAfterSeconds, false when at least one is inside it, and null when no verdict is possible. Null is never a substitute for false.
There are two reasons stale can be null, and staleAfterSeconds tells them apart. A number beside a null stale means the rule exists but nothing carried a timestamp to judge against it. A null staleAfterSeconds means no rule applies at all, for one of four reasons: the designation is one whose currency does not decay, such as active or a status we could not map; the sources disagree about the designation; they disagree about the length of an injured list stint; or a season ending placement does not expire. The first of those covers most players on a response that includes cleared designations.
The staleness window depends on the designation, not only the sport. A weekly football designation such as questionable lapses after 10 days because the injury report is reissued every game week, while a baseball injured-list placement is given its own stint length plus two weeks, and a season-ending placement is never marked stale.
meta.reportAgeSummary describes this response. staleConsensus, freshConsensus, noVerdict and noConsensus partition the players returned and add up to count. playersWithNoDatedRecord, datedRecords and undatedRecords say how much of the whole response could be dated, and are not scoped to any of those four buckets.
A source that publishes no timestamps of its own yields no staleness verdict for a player only it covers, so filtering with source can return a page on which every consensus.stale is null.
Records are retained by the source after a season ends, so check reportedAt and reportAgeSeconds on each record.
503 until the first collection has completed.
Request
- Base URL: https://api.owlsinsight.com
- URL: https://api.owlsinsight.com/api/v1/{sport}/injuries
- Auth: HTTP bearer
Path parameters
Query parameters
Limit to one feed by role label, primary or secondary. An unrecognised label returns 400 with the supported list.
Comma separated designations, for example out,questionable. An unrecognised value returns 400 with the supported list rather than an empty result.
Comma separated team names or abbreviations, for example Atlanta Falcons or ATL. Repeated parameters work too. An unrecognised team returns 400 rather than an empty result.
Set to true to include players every source considers available. Ignored when status is given, since an explicit status filter is authoritative.
Response
OK
Changes
No recorded changes to this operation across all 1 revision of this API.