Beeminder Forum

Beeminder API serialisation format for DateTimes

So, the API right now uses at least two formats:

"panic": 54000,
"updated_at": 1579302469,
"burner": "frontburner",
"yaw": -1,
  • An ISO 8601 formatted String such as “2020-01-18T12:10:32-05:00”, e.g.:
"contract": {
  "amount": 5,
  "stepdown_at": null,
  "pending_amount": 5,
  "pending_at": "2020-01-18T12:10:32-05:00"
}

Is there any more? Why is there more than one in use?
Also see this other example:

"contract": {
  "amount": 5,
  "stepdown_at": 1579474800,
  "pending_amount": null,
  "pending_at": null
},

Here, "stepdown_at" is a number, whereas its sibling "pending_At" was a String in the previous example. Why do they have different types?