> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ankra.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Portal URLs

> How Ankra portal addresses are built, the URL for every main page, and how AI clients, the CLI and notifications link you straight to the right screen.

Everything the Ankra CLI, API and MCP tools change is also visible in the portal at [platform.ankra.app](https://platform.ankra.app). Every portal page has a stable address, so you can bookmark it, paste it into a ticket, or have an AI client hand it to you. This page explains how those addresses are built and lists the main ones.

## How addresses are built

* **The organisation comes from your session.** Most pages live under `/organisation/...` and show the organisation you have selected in the top-left switcher. Only the organisation admin pages (members, service tokens and organisation settings) put the organisation id in the path.
* **`?org=` opens a link in the right organisation.** Links from Ankra (notifications, AI answers, MCP results) add `?org=<organisation-id>`. If that is not your current organisation, the portal offers to switch to it instead of showing "Resource not found".
* **Clusters are addressed by id, not by name.** Every cluster page starts with `/organisation/clusters/cluster/imported/<cluster-id>/`. The `imported` segment is used for every cluster, including ones Ankra built. `ankra cluster info -o json`, `ankra cluster list -o json` and the `list_clusters` MCP tool all return the id.
* **Stacks and add-ons are addressed by name** within their cluster. Kubernetes workloads are addressed by namespace and name.

<Tip>
  You rarely need to build these URLs yourself. `ankra` CLI commands that create a cluster print a **View it in the UI** link, and MCP clients can call [`get_portal_url`](#links-from-ai-and-mcp-clients).
</Tip>

## Organisation pages

| Page | Path |
| - | - |
| [Dashboard](/platform/dashboard) | `/organisation/dashboard` |
| [Activity inbox](/platform/activity-inbox) | `/organisation/activity` |
| Clusters | `/organisation/clusters` |
| Create or import a cluster | `/organisation/clusters/create` |
| Applications | `/organisation/applications` |
| [Stack profiles](/concepts/stack-profiles) | `/organisation/stack-profiles` |
| Add-on catalogue | `/organisation/add-ons` |
| [Credentials](/platform/credentials) | `/organisation/credentials` |
| Your API tokens (CLI and MCP) | `/organisation/profile/api` |
| [Cloud cost](/platform/cloud-cost) | `/organisation/cost` |
| Security Center | `/organisation/security` |
| Security findings | `/organisation/security/findings` |
| One CVE | `/organisation/security/advisories/<cve-id>` |
| Members | `/organisation/<organisation-id>/members` |
| Service tokens | `/organisation/<organisation-id>/service-tokens` |
| [Organisation settings](/platform/organisation-settings) | `/organisation/<organisation-id>/settings/general` |
| DNS and domains | `/organisation/<organisation-id>/settings/dns` |
| Backup vaults | `/organisation/<organisation-id>/settings/backups` |

## Cluster pages

Every path below starts with `/organisation/clusters/cluster/imported/<cluster-id>`.

| Page | Path suffix |
| - | - |
| Overview | `/overview` |
| Stacks | `/stacks` |
| One stack (builder) | `/stacks/<stack-name>/edit` |
| Add-ons | `/add-ons` |
| One add-on | `/add-ons/add-on/<addon-name>` |
| Managed resources | `/resources` |
| [Operations](/platform/operations) | `/operations` |
| One operation | `/operations/<operation-id>/kanban` |
| Nodes and machines | `/nodes` |
| Node groups | `/nodes/groups` |
| One Kubernetes node | `/kubernetes/nodes/<node-name>` |
| Namespaces | `/kubernetes/namespaces` |
| Pods | `/kubernetes/workloads/pods` |
| One pod | `/kubernetes/workloads/pods/<namespace>/<pod-name>` |
| Pod terminal | `/kubernetes/workloads/pods/<namespace>/<pod-name>?activeTab=terminal` |
| One Deployment | `/kubernetes/workloads/deployments/<namespace>/<name>` |
| One StatefulSet | `/kubernetes/workloads/stateful-sets/<namespace>/<name>` |
| One DaemonSet | `/kubernetes/workloads/daemon-sets/<namespace>/<name>` |
| One Job / CronJob | `/kubernetes/workloads/jobs/<namespace>/<name>`, `/kubernetes/workloads/cron-jobs/<namespace>/<name>` |
| Events | `/kubernetes/events` |
| Logs | `/kubernetes/logs` |
| [Metrics](/platform/cluster-metrics) | `/metrics` |
| Security | `/security` |
| Backups | `/backups` |
| [Settings](/platform/cluster-settings) | `/settings/general` |

An operation whose cluster you do not know opens at `/organisation/operations/<operation-id>`.

## Applications and pipelines

| Page | Path |
| - | - |
| One application | `/organisation/applications/<application-id>` |
| Its pipeline runs | `/organisation/applications/<application-id>/pipelines` |
| Where it is deployed | `/organisation/applications/<application-id>/deployments` |
| Pull request previews | `/organisation/applications/<application-id>/previews` |
| Environment secrets | `/organisation/applications/<application-id>/environment` |
| One pipeline run | `/organisation/pipelines/<repository-id>/runs/<run-id>` |
| One stack profile | `/organisation/stack-profiles/<profile-id>` |

## AI

| Page | Path |
| - | - |
| [Chat](/platform/ai-assistant) | `/organisation/ai/chat` (one conversation: `?conversation=<conversation-id>`) |
| [AI board](/platform/ai-board) | `/organisation/ai/board` |
| One ticket | `/organisation/ai/board/<ticket-id>` |
| [Agents](/platform/ai-agents) | `/organisation/ai/agents` |
| One agent run | `/organisation/ai/agents/runs/<run-id>` |
| Actions waiting for approval | `/organisation/ai/inbox` |
| Alerts | `/organisation/ai/alerts` |
| One alert rule | `/organisation/ai/alerts/<alert-id>` |

## Links from AI and MCP clients

The [Ankra MCP server](/platform/mcp-server) tells every connected client to give you a portal link when it reports on a resource, finishes a change, or asks you to review or approve something in the UI.

* `list_clusters` and `get_cluster_details` return each cluster's `portal_url` (its overview page).
* `get_portal_url` returns the link for any page on this list. It takes a `page` (for example `cluster_overview`, `addon`, `pod`, `application`, `pipeline_run`, `ticket` or `cve`) and the ids that page needs, and it reads and changes nothing, so an `mcp:read` token can call it.

```json theme={null}
{
  "name": "get_portal_url",
  "arguments": { "page": "addon", "cluster_id": "5d1f3a52-7e0b-4f3c-9b8f-0f6d3c2a1b4e", "addon_name": "cert-manager" }
}
```

```json theme={null}
{
  "page": "addon",
  "url": "https://platform.ankra.app/organisation/clusters/cluster/imported/5d1f3a52-7e0b-4f3c-9b8f-0f6d3c2a1b4e/add-ons/add-on/cert-manager?org=<organisation-id>",
  "description": "One add-on: status, values, the resources it created and its history."
}
```

If you write your own agent instructions, ask the agent to use these returned URLs rather than composing portal paths from memory.

## Links from the CLI and notifications

* Cluster creation and `ankra cluster apply` print **View it in the UI:** with the cluster's overview URL.
* `ankra cluster debug` prints a link to the debug pod's terminal.
* Slack, Microsoft Teams, email and webhook notifications link to the alert firing, ticket, pipeline run or cluster page they are about, and carry the organisation the page belongs to.

## Related

<CardGroup cols={2}>
  <Card title="MCP Server" icon="plug" href="/platform/mcp-server">
    Connect Cursor, Claude and other MCP clients to Ankra.
  </Card>

  <Card title="MCP Tools" icon="list" href="/platform/mcp-tools">
    Every tool the MCP server exposes.
  </Card>

  <Card title="Command Palette" icon="keyboard" href="/platform/command-palette">
    Jump to any page with ⌘K.
  </Card>

  <Card title="Dashboard" icon="gauge" href="/platform/dashboard">
    The organisation landing page.
  </Card>
</CardGroup>
