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

# get-portal

> Read one portal by its ID, slug, or served resource

Read one portal by its ID or slug, or by the resource it serves.

Unreleased and subject to change without notice.

Send exactly one of `portal`, `keyspaceId`, or `appId`. Sending more than one returns **400**.

Your root key must have `portal.*.read_portal` or `portal.<portal_id>.read_portal`. Without permission, this endpoint returns **404**, not 403.

## Usage

```bash theme={"theme":"kanagawa-wave"}
unkey api portal get-portal [flags]
```

## Flags

<ParamField body="--portal" type="string">Portal ID or slug.</ParamField>
<ParamField body="--keyspace-id" type="string">ID of the keyspace served by the portal.</ParamField>
<ParamField body="--app-id" type="string">ID of the app served by the portal.</ParamField>

## Global Flags

| Flag         | Type   | Description                                                                                   |
| ------------ | ------ | --------------------------------------------------------------------------------------------- |
| `--root-key` | string | Override root key (`$UNKEY_ROOT_KEY`)                                                         |
| `--api-url`  | string | Override API base URL (default: `https://api.unkey.com`)                                      |
| `--config`   | string | Path to config file (default: `~/.unkey/config.toml`)                                         |
| `--output`   | string | Output format. Use `json` for raw JSON                                                        |
| `--body`     | string | Send this JSON string as the request body. You cannot combine it with request-building flags. |

## Examples

```bash theme={"theme":"kanagawa-wave"}
unkey api portal get-portal --portal=acme-portal
```

See the [API reference](https://www.unkey.com/docs/api-reference/portal/get-portal).
