# The fixture conditions object

A fixture's conditions as known at the cutoff (`GET /v1/fixtures/{id}/conditions`), one record per source.

Attributes:
- `fixture_id` (string): Fixture identifier (`fx_<digits>`).
- `status` (enum): `available` = at least one record is served; `unavailable` = no record is known for the fixture at the cutoff; `withheld` = records exist but no source of them holds the right to serve conditions to this caller. One of: `available`, `unavailable`, `withheld`.
- `conditions` (array of objects): One record per source whose source may serve the caller; empty unless `status` is `available`.
  - `id` (string): Match condition identifier (`mc_<digits>`).
  - `version` (integer)
  - `source` (string): The record's provider (`sportmonks`, `footystats`); present only with the `read:sources` scope and when the source holds a display right for conditions, left out otherwise.
  - `attendance` (integer, nullable): The crowd the source reported; `null` means unavailable.
  - `neutral_venue` (boolean, nullable): Whether the match was played at a neutral venue; `null` means unavailable.
  - `weather` (object, nullable): The source's observed weather; `null` when the record holds none.
    - `basis` (enum): `current` = the source's observation at the match; `day` = its day values, when it has no such observation. One of: `current`, `day`.
    - `temperature_c` (number, nullable): Air temperature, degrees Celsius.
    - `feels_like_c` (number, nullable): Felt temperature, degrees Celsius.
    - `wind_speed` (number, nullable): Wind speed in m/s.
    - `wind_direction_deg` (integer, nullable): Wind direction in degrees.
    - `humidity_pct` (integer, nullable)
    - `pressure_hpa` (integer, nullable)
    - `clouds_pct` (integer, nullable)
    - `description` (string, nullable): The source's short description (`light rain`) verbatim.
  - `recorded_at` (timestamp): When the platform recorded this version (`known_at` compares against it).
- `attendance` (integer, nullable): The reconciled attendance, taken from the first served record, in the order Sportmonks then FootyStats, that reports one; `null` when none does (unavailable).
- `attendance_source` (string): The provider whose record supplied `attendance`; present only with the `read:sources` scope and when that source holds a display right for conditions.
- `sources` (object): Source references, or an explicit statement that they are withheld by source rights or unknown.
  - `status` (enum):  One of: `included`, `withheld`, `unknown`.
  - `items` (array of objects)
    - `source` (string): Source namespace (for example `footystats`).
    - `observed_at` (timestamp, nullable): A `Timestamp`, or `null` when unknown; the owning object says why.
    - `recorded_at` (timestamp): RFC 3339 instant in UTC with `Z` suffix; optional fractional seconds up to microseconds.
    - `precision` (enum): Precision of the source timestamp; `unknown` when the source gave none. One of: `unknown`, `day`, `hour`, `minute`, `second`, `millisecond`.
- `knowledge` (object): The effective knowledge cutoff of the response. Under a grant freshness delay it is never later than the request time minus the delay, whatever `known_at` asked for.
  - `known_at` (timestamp): RFC 3339 instant in UTC with `Z` suffix; optional fractional seconds up to microseconds.
  - `as_requested` (boolean): True when the caller supplied `known_at`; false when it defaulted to the request time.
- `resolution` (object): How the requested identifier resolved. Present whenever the requested identifier is not the canonical one, and optional otherwise.
  - `requested_id` (string): OddsFinder identifier, `<prefix>_<digits>`, a per-kind sequence number without padding, leading zeros, grouping or sign (1 to 9223372036854775807). The prefix names the kind; the per-kind schemas fix it where a field or parameter has one kind. `Resolution` uses this generic form because its identifiers are of the resource's kind.
  - `canonical_id` (string): OddsFinder identifier, `<prefix>_<digits>`, a per-kind sequence number without padding, leading zeros, grouping or sign (1 to 9223372036854775807). The prefix names the kind; the per-kind schemas fix it where a field or parameter has one kind. `Resolution` uses this generic form because its identifiers are of the resource's kind.
  - `status` (enum): `canonical`: the requested identifier is the identity itself; `alias`: it was retired by a merge decision and resolves to `canonical_id`. One of: `canonical`, `alias`.
  - `decision_id` (string, nullable): Identifier of a merge or reversal decision (`dec_<digits>`), a record you can cite.
  - `decided_at` (timestamp, nullable): A `Timestamp`, or `null` when unknown; the owning object says why.

Example:

```json
{
  "fixture_id": "fx_1",
  "status": "available",
  "conditions": [
    {
      "id": "mc_3",
      "version": 1,
      "attendance": 18000,
      "neutral_venue": null,
      "weather": null,
      "recorded_at": "2026-11-01T00:30:00Z",
      "source": "footystats"
    }
  ],
  "attendance": 18000,
  "attendance_source": "footystats",
  "sources": {
    "status": "included",
    "items": [
      {
        "source": "footystats",
        "observed_at": "2026-11-01T00:25:00Z",
        "recorded_at": "2026-11-01T00:30:00Z",
        "precision": "minute"
      }
    ]
  },
  "knowledge": {
    "known_at": "2026-11-01T00:45:00Z",
    "as_requested": true
  }
}
```
