# Feature Request: API - Return roadfull

**URL:** <https://forum.beeminder.com/t/feature-request-api-return-roadfull/1027>\
**Category:** Bugabee\
**Created:** [August 5, 2015, 10:29am UTC](https://forum.beeminder.com/t/feature-request-api-return-roadfull/1027 "2015-08-05T10:29:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![insti](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/insti/32/545_2.png) [@insti](https://forum.beeminder.com/u/insti)\
**Post date:** [August 5, 2015, 10:29am UTC](https://forum.beeminder.com/t/feature-request-api-return-roadfull/1027/1 "2015-08-05T10:29:16Z")

</div>

The roadall parameter of the api returns:

> array of arrays like [date::int, value::float, rate::float] each with exactly one field null

Which is nice for working out what the user specified fields are/were.

I would like to also be able to access something like **roadfull** which would return the road with all 3 values calculated.

This would make displaying roads using something like D3.js much easier and would not require re-implementing functionality Beeminder already has.

---

<div class="post-metadata">

**Author:** ![drtall](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drtall/32/1341_2.png) [@drtall](https://forum.beeminder.com/u/drtall)\
**Post date:** [August 5, 2015, 5:04pm UTC](https://forum.beeminder.com/t/feature-request-api-return-roadfull/1027/2 "2015-08-05T17:04:25Z")

</div>

Ideally it would be a 4-tuple of date, value, rate, and an enum/int indicating which one of those 3 is derived.

---

<div class="post-metadata">

**Author:** ![dreev](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/dreev/32/4311_2.png) [@dreev](https://forum.beeminder.com/u/dreev)\
**Post date:** [August 5, 2015, 7:50pm UTC](https://forum.beeminder.com/t/feature-request-api-return-roadfull/1027/3 "2015-08-05T19:50:42Z")

</div>

We have exactly what @drtall suggests internally so this should be easy to expose. (Keep bugging us if we’re slow, especially if you’re making something awesome with D3.js!)

---

<div class="post-metadata">

**Author:** ![dreev](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/dreev/32/4311_2.png) [@dreev](https://forum.beeminder.com/u/dreev)\
**Post date:** [August 6, 2015, 8:16am UTC](https://forum.beeminder.com/t/feature-request-api-return-roadfull/1027/4 "2015-08-06T08:16:58Z")

</div>

We’re now returning `fullroad` but it doesn’t currently include the 4th column indicating which column was originally null. That’s pretty easy to add so… give me a sense of how useful that would be? Also I think it confusingly includes the final row (the thing you dial with the road dial) but not the initial row (the one specifying the actual start coordinates of the yellow brick road). So much refactoring to do!

---

<div class="post-metadata">

**Author:** ![insti](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/insti/32/545_2.png) [@insti](https://forum.beeminder.com/u/insti)\
**Post date:** [August 6, 2015, 8:38am UTC](https://forum.beeminder.com/t/feature-request-api-return-roadfull/1027/5 "2015-08-06T08:38:31Z")

</div>

Including the final row is good, missing the initial row is bad.

The “inferred” column is a good idea, it should be an int from 0-2 specifying which was initially null.  
so you can do

```auto
inferred = fullroad[fullroad[3]]

```

(Although I’m not 100% sure why you’d want to do that.)

Knowing which value was inferred It will be useful keeping roads sensible when I’m modifying them.

But having the initial point there is my highest priority desire right now.
