4 comments

[ 4.5 ms ] story [ 23.5 ms ] thread
Hi HN! I'm one of the creators of Budibase, and today, we're excited to launch our new Public API.

What is Budibase: Budibase is a low code platform for creating CRUD apps, and an open-source alternative to Retool and PowerApps. Basically, you connect your data sources (Postgres, MySql, Mongo, Airtable, Spreadsheets, Rest API, and more), build your UI with our GUI and powerful pre-made blocks, then automate processes within and around your app with our automation section (like Zapier). You can run Budibase in the Budibase Cloud, or use K8s, Docker, Digital Ocean.

The Github repo is: https://github.com/Budibase/budibase

And our website is: https://budibase.com

And we previously launched on Hacker News: https://news.ycombinator.com/item?id=29242466

Why did we launch a Public API, and why you might find this interesting: A Public API was one of our most requested features as it enables:

Budibase as a backend The Budibase backend is very powerful, and our Public API allows you to specifically use the backend API to build apps, without using, for example, our design GUI. Budibase gives you a full CRUD API for all of your SQL tables, right out of the box.

Extending apps / Interoperability Before the Public API, it was difficult to extend functionality in a lot of places, especially around data. The new Budibase API allows users to build to a point within Budibase and then extend using the API. Opening up the API allows connecting data in and out of Budibase in ways that are business-specific use cases (e.g. IoT, internal business APIs, etc).

Design: The API follows RESTful patterns of design and is fully defined using the OpenAPI specification. For schemas and API definitions this enables the spec to be pulled into tools like Postman and you can start making requests straight away once you’ve inputted your API key and App ID.

The first version of the API covers the tables, rows, users, queries, and applications resources. You have full CRUD operations on those resources as well as the ability to search any of them. This also respects the RBAC system fully. Every user can generate an API key for Budibase and it will only allow users with access to utilize the API.

Use case: To help you adopt the Budibase API, we’ve created the following example: Build an app with Budibase and Next.js - https://budibase.com/blog/building-a-crud-app-with-budibase-...

Docs: You can learn more about the Budibase API at the following places: General documentation - Learn how to get your API key, how to use spec, and how to use with Postman: https://docs.budibase.com/docs/public-api

Interactive API documentation - Learn how to interact with the API: https://docs.budibase.com/reference/post_applications

Happy to answer any questions. We have a lot more to build and would love to hear your feedback and potential use cases.

Can I use this to create a user facing app with auth instead of just using it for internal use?
Looking at the license, it looks like it's possible, but you will need to release your own code under the AGPLv3 license and make it available to others. That means if you add an auth layer on top of the project, you will need to make that layer available under the same license.

> The AGPL License does not permit sublicensing of the code; that is, you cannot rework or add to the code and then close those changes off to the public. The “open source-ness” of the original code follows any update or addition. Both GPL v2 and GPL v3 contain this provision as well.