# Storagenode API versioning

**URL:** <https://forum.storj.io/t/storagenode-api-versioning/11542>\
**Category:** Storage Node feature requests - voting\
**Tags:** storagenode-api\
**Created:** [February 2, 2021, 5:27pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542 "2021-02-02T17:27:24Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![kevink](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/kevink/32/6077_2.png) [@kevink](https://forum.storj.io/u/kevink)\
**Post date:** [February 2, 2021, 5:27pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/1 "2021-02-02T17:27:24Z")

</div>

I’d like to ask for a API versioning because currently, we have to adapt all 3rd party monitoring tools within a short period of time with limited information about the changes (unless you go through the commits etc) and sometimes new API versions might even break something.

So to make the transitions between different storagenode/API versions easier, it would be great to have some basic API versioning, so we could still use the old API version until we got all changes for the new version implemented correctly.

Also btw @jocelyn I’m constantly out of votes because too many topics are still open/not enough votes available. Is it possible to change this?

---

<div class="post-metadata">

**Author:** ![jocelyn](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/jocelyn/32/31_2.png) [@jocelyn](https://forum.storj.io/u/jocelyn)\
**Post date:** [February 2, 2021, 8:06pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/2 "2021-02-02T20:06:33Z")

</div>

hi @kevink I can check and see what settings are in place for that. I should also go through and close the voting on some of the older threads. Although I seem to remember uncovering some other edge case weirdness when i tried that before, i think it did some funny things to how the open votes were calculated.

---

<div class="post-metadata">

**Author:** ![kevink](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/kevink/32/6077_2.png) [@kevink](https://forum.storj.io/u/kevink)\
**Post date:** [February 2, 2021, 8:09pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/3 "2021-02-02T20:09:43Z")

</div>

Thanks jocelyn. I guess the easy way would be to increase the number of available votes. I’m unaware of any possible downsides in our case but maybe you know some.

---

<div class="post-metadata">

**Author:** ![SGC](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/sgc/32/1132_2.png) [@SGC](https://forum.storj.io/u/SGC)\
**Post date:** [February 2, 2021, 8:10pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/4 "2021-02-02T20:10:44Z")

</div>

yeah same here with the votes, they never seem to be released when stuff is implemented, closed or whatever.

@kevink was just thinking you where the man for this job, when i saw bright mention API versioning earlier, this is most certainly a good idea, since it will avoid a lot of future problems.

---

<div class="post-metadata">

**Author:** ![jocelyn](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/jocelyn/32/31_2.png) [@jocelyn](https://forum.storj.io/u/jocelyn)\
**Post date:** [February 2, 2021, 8:52pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/5 "2021-02-02T20:52:10Z")

</div>

ok I will look at it either today or tomorrow. Its a super meetings-heavy week and i avoid multitasking when it comes to being in the admin settings, so I need to find a time when im not in a call – hope to clear it up soon though!

---

<div class="post-metadata">

**Author:** ![kevink](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/kevink/32/6077_2.png) [@kevink](https://forum.storj.io/u/kevink)\
**Post date:** [February 2, 2021, 9:02pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/7 "2021-02-02T21:02:42Z")

</div>

No hurry. Take your time and have good meetings!

---

<div class="post-metadata">

**Author:** ![BrightSilence](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/brightsilence/32/6048_2.png) [@BrightSilence](https://forum.storj.io/u/BrightSilence)\
**Post date:** [February 2, 2021, 10:11pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/8 "2021-02-02T22:11:16Z")

</div>

> [@jocelyn](#):
>
> Its a super meetings-heavy week

I feel your pain. After 2 workdays I’ve had exactly an hour and a half to do some actual work. Can’t say that time was very productive in-between that. And please nobody mention the existence of email to me right now.

Anyway, yes it would be great if we could explicitly address an API version and have it work for a while longer when changes are implemented. Of course I still expect them to be deprecated at some point, but the overlap would give everyone the opportunity to to implement changes and test them on the new API version before things break.

---

<div class="post-metadata">

**Author:** ![kevink](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/kevink/32/6077_2.png) [@kevink](https://forum.storj.io/u/kevink)\
**Post date:** [February 2, 2021, 10:14pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/9 "2021-02-02T22:14:09Z")

</div>

> [@BrightSilence](#):
>
> Of course I still expect them to be deprecated at some point, but the overlap would give everyone the opportunity to to implement changes and test them on the new API version before things break.

Would be enough if old versions work for a few storagenode releases to give a few weeks.

---

<div class="post-metadata">

**Author:** ![Pac](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/pac/32/6053_2.png) [@Pac](https://forum.storj.io/u/Pac)\
**Post date:** [February 3, 2021, 9:08pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/10 "2021-02-03T21:08:57Z")

</div>

> [@kevink](#):
>
> I guess the easy way would be to increase the number of available votes.

@jocelyn Like many I’m facing this issue too, would be great to have more votes each, indeed!

With regards to this thread: versioning the APIs would be a great addition. But as @BrightSilence said they don’t have to live (and be maintained) forever.

---

<div class="post-metadata">

**Author:** ![jocelyn](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/jocelyn/32/31_2.png) [@jocelyn](https://forum.storj.io/u/jocelyn)\
**Post date:** [February 3, 2021, 9:12pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/11 "2021-02-03T21:12:34Z")

</div>

Ok heres what I can do : I will increase the number of votes for now, and then I will go look at some of the old threads and see if I can close them out, which sshould also help bump up the allotments.  
It appears that i already doubled the number of votes that the forum gives folks as the default. But we have a lot of topics and a lot of opinions to express, so i think it makes sense to do another round of customization on the settings. Sound good?

ETA: I just bumped all the levels, except for Trust Level 0. TL0 is the sandbox for new users, and it makes sense to keep that number low. However anyone who wants to move up to TL1 only needs to spend about 10 minutes browsing in the forum, so it shouldnt be a serious barrier for anyone who really wants to interact.

---

<div class="post-metadata">

**Author:** ![isaachess](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/isaachess/32/60_2.png) [@isaachess](https://forum.storj.io/u/isaachess)\
**Post date:** [February 4, 2021, 3:35pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/12 "2021-02-04T15:35:30Z")

</div>

> [@kevink](#):
>
> I’d like to ask for a API versioning because currently, we have to adapt all 3rd party monitoring tools within a short period of time with limited information about the changes (unless you go through the commits etc) and sometimes new API versions might even break something.

@kevink could you explain in more detail which APIs you are referring to, and what type of 3rd-party monitoring tools you’re using?

Generally what you find in `commin/pb` is (mostly) meant to be a stable API, whereas most of everything else is considered “internal” and not necessarily stable.

But if you could be a little more specific so I can understand which APIs you’re referring to, and what types of tools you’re using, we can see if there’s a way for us to be more specific about changes.

---

<div class="post-metadata">

**Author:** ![Pentium100](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/pentium100/32/6082_2.png) [@Pentium100](https://forum.storj.io/u/Pentium100)\
**Post date:** [February 4, 2021, 3:48pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/13 "2021-02-04T15:48:44Z")

</div>

I don’t know about him, but I thought of this when I voted for this idea:

> [@A couple changes to SNO API](https://forum.storj.io/t/a-couple-changes-to-sno-api/11300):
>
> Hey everyone, This is a heads-up that we’re making some changes to the SNO API soon. From the endpoint for a single satellite: The uptime field is removed The online\_score field is removed (see 3rd point) The audits field now uses the same structure as the audits field outputted by the satellites endpoint, which looks like this: { auditScore suspensionScore onlineScore satelliteName } So, if you are using external tools which reference these fields, they may not work anymore. T…

I am monitoring audit socres and counts, but these are my own scripts and I should be able to quickly change them to use the new API after the update comes out. But for people using sripts written by someone else, those scripts will stop working until the author fixes them.  
And there is no way to update those scripts now, because the nw API is not available. Ass soon as it is available the old API will stop working, so there is no transition period.

---

<div class="post-metadata">

**Author:** ![kevink](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/kevink/32/6077_2.png) [@kevink](https://forum.storj.io/u/kevink)\
**Post date:** [February 4, 2021, 4:21pm UTC](https://forum.storj.io/t/storagenode-api-versioning/11542/14 "2021-02-04T16:21:53Z")

</div>

I’m talking about the api at [http://localhost:14002/api/sno/](http://localhost:14002/api/sno/)… (e.g. /api/sno/satellites and /api/sno/satellite/satellite-id)  
This could be versioned like /api/v0.1/sno/, /api/v0.2/sno/, etc

3rd-party monitoring tools: [Prometheus Storj-Exporter - #157 by goldyka](https://forum.storj.io/t/prometheus-storj-exporter/1939/157)  
With this tool we transform the api into prometheus compatible format so we can store the stats and display them using grafana.

> [@isaachess](#):
>
> we can see if there’s a way for us to be more specific about changes.

Thanks for taking the time to think about it.
