Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,30 @@ The Main tenants are:

4. **Adding Authentication (optional)** : If your backend requires authentication we offer the ability to set a query param or header when you connect to it through OpenBB Pro. These values are sent on every request when configured. If you require another method - please reach out to us.

## Backend URL requirements

When you add a backend in OpenBB Workspace, use the root base URL for that backend.

- Expected: `http://192.168.1.100:7777`
- Expected: `https://vstocks.example.com`
- Not supported as the backend base URL: `https://example.com/vstock`

OpenBB Workspace expects to find `widgets.json` at:

```text
<base-url>/widgets.json
```

That means the backend configuration must be served from the root of the backend base URL.

Copilot AI Apr 12, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sentence "the backend configuration must be served from the root" is ambiguous and can be read as requiring all backend routes to be rooted at , which conflicts with the next paragraph that allows prefixed routes. Consider rephrasing to explicitly state that only widgets.json must be available at <base-url>/widgets.json (and that other endpoints may live under a prefix).

Suggested change
That means the backend configuration must be served from the root of the backend base URL.
That means only `widgets.json` must be served from the root of the backend base URL at `<base-url>/widgets.json`; other backend endpoints may still live under a prefix.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apps.json / widgets.json - any config really - we dont want to say just widgets.json


If you are deploying on another machine in your LAN, make sure your app is listening on all interfaces, for example:

```bash
uvicorn main:app --host 0.0.0.0 --port 7777
```

If you need to serve additional application routes under a prefix such as `/vstock`, keep `widgets.json` at the backend root and put the rest of your routes behind the prefix. If your deployment requires a path prefix for the entire backend, use a dedicated host or subdomain instead of a subpath.

Copilot AI Apr 12, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This paragraph suggests serving application routes under a prefix while keeping widgets.json at the root, but it doesn’t mention that widget endpoint values in widgets.json must include that prefix (e.g., vstock/...) for OpenBB Workspace to call the correct URLs. Adding that detail would prevent misconfiguration when users mount all API routes under a path prefix.

Suggested change
If you need to serve additional application routes under a prefix such as `/vstock`, keep `widgets.json` at the backend root and put the rest of your routes behind the prefix. If your deployment requires a path prefix for the entire backend, use a dedicated host or subdomain instead of a subpath.
If you need to serve additional application routes under a prefix such as `/vstock`, keep `widgets.json` at the backend root and put the rest of your routes behind the prefix. In that setup, the widget `endpoint` values in `widgets.json` must also include the prefix (for example, `vstock/...`) so OpenBB Workspace calls the correct URLs. If your deployment requires a path prefix for the entire backend, use a dedicated host or subdomain instead of a subpath.

Copilot uses AI. Check for mistakes.

## Getting Started

We recommend starting with the [getting-started/hello-world](getting-started/hello-world/README.md) example.
Expand All @@ -65,4 +89,4 @@ For more examples on setting up your own App - you can head to our documentation

## Examples of apps

Check awesome open source OpenBB apps built by our team or by the community here: [https://github.com/OpenBB-finance/awesome-openbb](https://github.com/OpenBB-finance/awesome-openbb).
Check awesome open source OpenBB apps built by our team or by the community here: [https://github.com/OpenBB-finance/awesome-openbb](https://github.com/OpenBB-finance/awesome-openbb).
13 changes: 13 additions & 0 deletions getting-started/reference-backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,19 @@ uvicorn main:app --reload --host 0.0.0.0 --port 7779

The application will be available at `http://localhost:7779`

## Connecting from OpenBB Workspace

Use the backend root URL when connecting this app to OpenBB Workspace.

- Works: `http://localhost:7779`
- Works: `http://192.168.1.100:7779`
- Works: `https://vstocks.example.com`
- Not supported as the backend base URL: `https://example.com/vstock`

OpenBB Workspace expects `widgets.json` to be available at `<base-url>/widgets.json`.

If you need to expose other endpoints under a prefix, keep `widgets.json` at the root and mount your application routes separately. For LAN deployments, run uvicorn with `--host 0.0.0.0` so the backend is reachable from other machines.

Copilot AI Apr 12, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When advising users to put endpoints behind a prefix, it would help to explicitly note that the endpoint fields in widgets.json need to include that prefix so Workspace requests resolve correctly (since Workspace builds URLs from the base URL + endpoint).

Suggested change
If you need to expose other endpoints under a prefix, keep `widgets.json` at the root and mount your application routes separately. For LAN deployments, run uvicorn with `--host 0.0.0.0` so the backend is reachable from other machines.
If you need to expose other endpoints under a prefix, keep `widgets.json` at the root and mount your application routes separately. In that setup, the `endpoint` fields in `widgets.json` must include the same prefix (for example, `/api/widget-name` rather than `/widget-name`), because Workspace builds request URLs from the base URL plus each widget `endpoint`. For LAN deployments, run uvicorn with `--host 0.0.0.0` so the backend is reachable from other machines.

Copilot uses AI. Check for mistakes.

## Architecture

This FastAPI application is designed to work as a backend for OpenBB Workspace. Here's a breakdown of its architecture:
Expand Down
Loading