# CLI commands

Source: https://blocklive.io/docs/developers/cli/commands

Every command of the Blocklive CLI, its options, and what it prints.

## Commands

| Command                         | What it does                                                    |
| ------------------------------- | --------------------------------------------------------------- |
| `blocklive login`               | Sign in through your browser ([signing in](https://blocklive.io/docs/developers/cli/sign-in)).        |
| `blocklive logout`              | Sign out here and end the sign-in on Blocklive.                 |
| `blocklive whoami`              | Who you're signed in as, what the sign-in may do, when it ends. |
| `blocklive events list`         | The events you can see through this sign-in, newest first.      |
| `blocklive event show <event>`  | One event: tickets sold, check-ins, ticket types.               |
| `blocklive guests list <event>` | The event's guests. Managers and admins only.                   |
| `blocklive help`                | The list of commands and options.                               |

`<event>` is the event's ID or its slug, the last part of its link: the slug
of `blocklive.io/summer-opening` is `summer-opening`. The words `list` and
`show` can be left out:

```sh
blocklive event summer-opening
```

## events list

The events you can see through this sign-in, newest first.

```sh
blocklive events list
```

```text
WHEN                EVENT           SLUG            TEAM          YOU
13 Nov 2026, 18:00  Summer Opening  summer-opening  Night Market  manager
```

| Column  | Meaning                                                                                                             |
| ------- | ------------------------------------------------------------------------------------------------------------------- |
| `WHEN`  | When it starts, in the event's own time zone.                                                                       |
| `EVENT` | Its title.                                                                                                          |
| `SLUG`  | What to pass to `event show` and `guests list`.                                                                     |
| `TEAM`  | The team that runs it.                                                                                              |
| `YOU`   | Your role there: `door`, `manager`, `admin`, or `organization` for an organization admin. `key` through an API key. |

Without `--all` it shows the first 100 and then
`More events: use --all, or --limit.` when there are more.

## event show

One event, with how it's selling.

```sh
blocklive event show summer-opening
```

```text
Summer Opening  (active)
13 Nov 2026, 18:00 · Riverside Hall
Tickets sold: 212 · checked in: 0 · orders waiting: 3

TICKET TYPE        PRICE  SOLD  OF
General admission  25     200   400
VIP                60     12    40

On Blocklive: https://blocklive.io/manage/night-market/event/summer-opening/overview
```

-   **Tickets sold** counts confirmed purchases; **orders waiting** are
    purchases still being processed.
-   `OF` is how many tickets of that type there are.
-   The last line links to the event in Blocklive's admin, where refunds,
    cancellations and payouts are done.

## guests list

The event's guests: one row per ticket.

```sh
blocklive guests list summer-opening --all
```

```text
GUEST    EMAIL   TICKET             ORDER      CHECKED IN
Sam Lee  sam@…   General admission  confirmed  not yet
```

| Column       | Values                                                                 |
| ------------ | ---------------------------------------------------------------------- |
| `GUEST`      | The buyer's name.                                                      |
| `EMAIL`      | The buyer's email.                                                     |
| `TICKET`     | The ticket type.                                                       |
| `ORDER`      | `confirmed`, `pending`, `rejected` or `unknown`.                       |
| `CHECKED IN` | `in`, `not yet`, `no ticket yet` (the ticket isn't issued yet) or `?`. |

Who sees guests:

-   Managers and admins of the event or its team, as on the Attendees page.
-   Door staff see events and sales, not guests.
-   An organization admin sees its teams' events and sales, not their guests,
    unless they also hold a role at that team or event.
-   A sign-in through an API key lists the key's events only. Read attendees
    with the [developer API](https://blocklive.io/docs/developers) and the key.

Anyone else gets `forbidden` (exit code 3) with the reason, for example
`Your role at this event doesn't show its guests. Managers and admins see them.`

## Options

| Option               | What it does                                                                              |
| -------------------- | ----------------------------------------------------------------------------------------- |
| `--profile <name>`   | Use another saved sign-in. Default `default` (see [profiles](https://blocklive.io/docs/developers/cli/sign-in#profiles)).       |
| `--limit <n>`        | How many rows on a page, 1 to 100. Default 100.                                           |
| `--all`              | Every page, not just the first.                                                           |
| `--json`             | Print JSON instead of text (see [JSON output](https://blocklive.io/docs/developers/cli/scripts#json-output)).                   |
| `--api <url>`        | Which Blocklive to sign in to. Default `https://blocklive.io`. Only `https://` addresses. |
| `--insecure-storage` | Keep the sign-in in a file when the computer has no keychain.                             |
| `--help`, `-h`       | Show help.                                                                                |
| `--version`          | Show the version.                                                                         |

Options go anywhere after `blocklive`. An option the CLI doesn't know, or a
missing value, stops with exit code 2.

`--base-url` is the same as `--api`, and the `BLOCKLIVE_API_URL` environment
variable sets it too. A profile remembers the address it signed in to; to use
another, sign in with another `--profile`.
