# Quibbles about the API documentation for roadall

**URL:** <https://forum.beeminder.com/t/quibbles-about-the-api-documentation-for-roadall/12768>\
**Category:** Bugabee\
**Created:** [May 9, 2026, 12:43pm UTC](https://forum.beeminder.com/t/quibbles-about-the-api-documentation-for-roadall/12768 "2026-05-09T12:43:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![zzq](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/zzq/32/6471_2.png) [@zzq](https://forum.beeminder.com/u/zzq)\
**Post date:** [May 9, 2026, 12:43pm UTC](https://forum.beeminder.com/t/quibbles-about-the-api-documentation-for-roadall/12768/1 "2026-05-09T12:43:33Z")

</div>

The API docs for updating a goal’s road say:

> The last row can be `[null, value, rate]` but no other row can be.

This seems to be incorrect: the API does accept `null` in the date position for intermediate rows.

As it should—there’s no reason why it should be forbidden. The graph can include segments with inferred end dates, so long as that is consistent with the rest of the graph matrix (e.g. the inferred date isn’t past the next explicit date.)

I consider this to be a documentation issue: the API works fine, but the docs falsely say it doesn’t.

While we’re at it: the API documentation for getting the `roadall` says:

> Like `road` but with an additional initial row consisting of [`initday`, `initval`, null] and an additional final row consisting of [`goaldate`, `goalval`, `rate`].

It is not immediately clear from this description that one of those values in the final row will be `null`. The “A note about rate, date, and val” talks about there being a `null` in exactly one of those top-level fields, but I think it would be worth making it clear that this applies to the final road entry in roadall as well.
