Skip to content

Pre-release documentation

This describes Beacon 2.0.0-rc5, a release candidate. Behavior documented here may still change before 2.0.0 ships, and some of it is not in any released build yet. For the current stable release, see the 1.8.0 documentation.

REST API

Beacon gives an HTTP API. Use it to query datasets, to inspect schemas and to manage the server. Every endpoint uses JSON over HTTP.

OpenAPI reference

Beacon generates an OpenAPI specification at run time. Start the server. Then open one of these URLs:

UIURL
Swagger UI/swagger
Scalar UI/scalar/
Raw spec (JSON)/openapi.json

Base URL

This documentation shows every endpoint as a relative path, for example GET /api/health. Send your request to the base URL of your Beacon server. The default is http://localhost:5001. Behind a reverse proxy, use the URL of that proxy.

Admin path alias

Beacon serves each endpoint on two paths. The second path has the prefix /admin:

EndpointAlias
POST /api/queryPOST /admin/api/query
GET /api/tablesGET /admin/api/tables
GET /api/admin/crawlersGET /admin/api/admin/crawlers
GET /api/healthGET /admin/api/health

The two paths run the same handler.

Each path below /admin needs the admin Basic auth credentials. This also applies to the endpoints that answer any caller on /api/*. GET /api/info is open. GET /admin/api/info is not.

Use the alias when a proxy in front of Beacon protects /api/*. Your proxy keeps control of /api/*. The admin web UI calls the alias only, so the UI stays in service.

bash
curl -u beacon-admin:beacon-password http://localhost:5001/admin/api/tables

The OpenAPI specification lists each endpoint one time. It shows the path without the prefix.

Health check

http
GET /api/health

Returns 200 OK when Beacon runs and is ready.

What's in the API

SectionDescription
Exploring the catalogFind datasets, tables and schemas
QueryingRun a query with the JSON DSL or with SQL, and get the results
JSON Query DSLA structured query format for a client program
SQLFull SQL through DataFusion
ExamplesQuery patterns that you can copy

Released under the AGPL-3.0 License.