> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/api-reference/guides/base-urls.md).

# Base URLs

The Hub and Api addresses of the managed service and of your own installation.

Every Norbix installation answers on two hosts. You need the right one, and the version segment `/v3`, in front of every endpoint path.

## How Norbix models it

| Service   | Managed service            | Self-hosted / enterprise       | What it serves                                                         |
| --------- | -------------------------- | ------------------------------ | ---------------------------------------------------------------------- |
| **Api**   | `https://api.norbix.ai/v3` | `https://api.<your domain>/v3` | What your app calls: records, files, end-user sign-in, sending         |
| **Hub**   | `https://hub.norbix.ai/v3` | `https://hub.<your domain>/v3` | What Cloud calls: projects, schemas, templates, integrations, AI (MCP) |
| **Cloud** | `https://cloud.norbix.ai`  | `https://cloud.<your domain>`  | The web app                                                            |

An endpoint page shows a path like `/{version}/database/collections/{collectionName}`. Put the base URL in front and replace `{version}` with `v3`:

```
https://api.norbix.ai/v3/database/collections/books
```

### Find the addresses of your project

* Cloud → your project → **Settings** → **Access** → **Deployment endpoints** shows the **API URL** and **Hub URL** of the project's region, each with a copy button ([Keys and environments](/codemash/get-started/keys-and-environments.md#addresses)).
* Cloud → Account → **Connect your AI** shows the Hub, API and MCP addresses.
* Every installation answers `GET /v3/echo` on both hosts without a key. The answer names the addresses it serves:

```sh
curl -s https://hub.norbix.ai/v3/echo
```

```json
{
  "release": "ManagedService",
  "hubUrl": "…/v3",
  "apiUrl": "…/v3",
  "apiVersion": "v3",
  "hubVersion": "v3",
  "regions": [ { "code": "nb-eu-germany", "displayName": "EU — Germany (Frankfurt)", "apiUrl": "…", "hubUrl": "…" } ],
  "agent": { "mcpUrl": "…/v3/account/mcp" }
}
```

(Shortened. On a test installation the same call answered with its own host names and these fields.)

### Regions

On the managed service a project lives in one region (you pick the **Location** when you create it). `/v3/echo` lists the regions. You may send the optional header `nb-region: nb-eu-germany` to say which region you mean; calls without it are routed by the project.

### The project in the host name

The gateway also reads the project from the host name: a request to `pr-<32 hex characters>.api.<domain>` is for that project. This form exists for installations with wildcard DNS (`*.api.<domain>`, see [Licensing → DNS](/codemash/get-started/licensing.md#dns-records)). The usual way is the `projectId` parameter — see [Authentication](/codemash/api-reference/guides/authentication.md).

## Where you use it

* [Authentication](/codemash/api-reference/guides/authentication.md) · [How to test](/codemash/api-reference/guides/how-to-test.md)
* SDK: [Install the SDK](/codemash/sdks/install.md) — the SDK options `apiBaseUrl` / `hubBaseUrl` · CLI: [CLI](/codemash/cli/cli.md)
