This past weekend marked an important milestone for AL Object ID Ninja.
Backend version 3 is now live, running in production on:
- brand-new endpoints,
- the latest supported Node runtime,
- and fully covered by more than 1,300 automated tests.
So far, it’s been running smoothly and reliably, exactly as intended.
At the same time, version 3 of the VS Code extension was published to the Visual Studio Code Marketplace earlier today and has already started being used in real production environments.
This post is a short status update: what’s live, what changed, what to expect next, and how billing and pricing work going forward.
A Note for Teams Running Their Own Backend
There was a backend update during the weekend, and if you’re running Ninja on your own infrastructure, you should update your backend as soon as possible.
I want to be very clear here:
this was not intentional, and I genuinely apologize for the inconvenience. I’m doing my best to keep these kinds of updates to an absolute minimum — but in the coming months, I can’t realistically guarantee that there won’t be more.
Ninja is entering a phase where:
- a large number of new features are being added,
- many of them involve backend changes,
- and some of those changes will require updates on self-hosted deployments.
This phase won’t last forever. Once the new foundation settles, things should calm down significantly. But for a while, teams running their own backend should expect a bit more maintenance effort than before.
Billing: What Happens Until January 1st
Until January 1st, there is:
- no usage counting
- no billing
- no invoices
You can subscribe, set things up, and start using Ninja v3, get the feel for the platform, set up your team (apps and users), without worrying about billing during this period.
Billing starts on January 1st.
About Pricing and the Early Bird Commitments
If you signed up during the early bird period and received a discount voucher, that voucher is fully valid.
That said, the pricing model has evolved since the early bird phase — intentionally.
Then (Early Bird Phase)
- Pricing was elastic
- Prices went down with the number of users and apps
- Starting prices were higher
Now (Current Model)
- Flat price per user
- Flat price per app
- Pre-packaged tiers that offer savings of up to 40% over flat pricing
- A pay-per-use model that charges only for:
- users who were active during the month
- apps that were actually used during the month
I don’t have hard data yet, but my strong hunch is that pay-per-use will be the most meaningful option for most customers.
For most teams, the final price will end up being roughly the same as what they expected before — usually within half a euro difference.
- Some customers (especially smaller teams) will see lower prices
- Some customers may see slightly higher prices
And this is the most important part — please read this carefully:
If you signed up for Early Bird, entered your exact number of users and apps, and received a custom price, you can keep that price forever — as long as you stay within the limits you originally specified.
At the same time:
- You can switch at any time to any other subscription tier
- Including pay-per-use
- And your Early Bird discount still applies
You are never locked in.
Helping You Choose the Best Option
The subscription page is designed to do something very deliberate:
When you enter your numbers and your voucher, it:
- evaluates all available pricing models,
- calculates the total cost for each,
- and automatically selects the cheapest option that gives you the maximum number of users and apps.
You can override it if you want — but the default choice is always the most cost-effective one.
Thank You — Truly
Thank you for your patience during this transition.
Thank you for your feedback, your trust, and your support.
Seeing so many of you move to the commercial model means more than just covering infrastructure costs. It directly funds:
- my time,
- my focus,
- and the care I put into building Ninja properly.
A lot more is coming — including several new features before the New Year.
Stay tuned.
See you around.
And well… A BIG THANK YOU! 😊
P.S.
If you are experiencing any troubles, shout out. Here, on GitHub, mail, I’ll be keeping a close eye on everything to make sure everyone has a smooth ride.

Hi Vjeko,
thanks for doing this, much appreciated! 🙂
what I don’t understand is, how each user is authenticated in the vs code app against the registered users from your platform?
also, is there an API for adding the apps? uploading each app.json one at a time is a bit tedious
Hi Julian,
Don’t upload the apps one-by-one. Drag all app.json files directly onto the table in the Apps page. Some companies uploaded 1000+ apps in less than a minute. There is no API for that at the moment.
Regarding user “authentication” – the platform doesn’t authenticate. It uses the Git e-mail address (run “git config user.email” to see what it is). I intentionally don’t want to make Ninja stricter than this, but if you think this should be an opt-in feature, let me know. The point is – once admins configure their apps, when Ninja (extension) sends a request to the backend, based on app ID the backend knows which organization it belongs to, and then it checks if the user is assigned to that organization. If not, it shows a 15-day grace period warning (or an error, if 15-day grace period elapsed).
If you think it would be better to control this with authentication flow, I can do this as an opt-in feature that each organization can configure for themselves, but I don’t think it’s necessary. Still, do let me know.
thanks for the info about authentication, we’ll try it out
regarding the multiple app files, I’m getting “Invalid File
We only accept app.json files. Please make sure you’re uploading the correct file and try again.” when dropping the app.jsons in the table. the +add app button only allows single files it seems.
tried in edge and firefox
This problem is now fixed. Try again.