# Console links

> Every web console page and the query parameters it takes, so an agent can hand a person a link that opens exactly the right view.

**Give the person a link, not directions.** API and tool results carry `console_url`: an absolute link to that object's page in the web console (a project, a deployment, a recorded session, a payment, a subscription, an analytics report), or, on a list, to the same list with the same filters. It opens after the person signs in. Pass it on as it is. (One exception in name only: in sign-in settings, `available_providers[].console_url` is the provider's own developer console.)

To build a link yourself, start from the API's public URL (where the console is served) and use the paths below. Every filter, period, search and selected item is in the query string, so a link reproduces the whole view. A value the page does not know is ignored: the default shows instead. A default can be left out.

**A project** (`/projects/<projectId>`, the id from `./vibiz.json` or `vibiz_project_status`):

| Path | Parameters |
| --- | --- |
| `/projects/<id>` | Overview |
| `/projects/<id>/users` | `env` (`production` or `development`; default production for an owner, development for an agent), `q` (a name or email: one user), `offset` |
| `/projects/<id>/sign-in` | `env`, `provider` (`google`, `github` or `vercel`: opens its settings) |
| `/projects/<id>/database` | `env`, `view` (`tables` or `sql`), `table` (`schema.name`, e.g. `public.notes`), `offset` |
| `/projects/<id>/deployments` | the list |
| `/projects/<id>/deployments/<deploymentId>` | one deploy: status, build time, files, error |
| `/projects/<id>/domains` | `domain` (opens on that domain: its status and the DNS records to add) |
| `/projects/<id>/analytics` | `period` (`24h`, `7d` or `30d`; default `7d`) |
| `/projects/<id>/replays` | `period`, `filter` (`all`, `errors`, `rage` or `dead`) |
| `/projects/<id>/replays/<sessionId>` | one recorded session, played in the console |
| `/projects/<id>/email` | `q` (recipient, subject or sender), `message` (marks one) |
| `/projects/<id>/email/contacts` | `q`, `status`, `list`, `segment`; `/email/contacts/<contactId>` opens one |
| `/projects/<id>/email/broadcasts/<broadcastId>` | `view` (`review`: the checklist and the Send button an owner presses; `stats`) |
| `/projects/<id>/email/automations/<automationId>` | one automation: its steps, runs, and Activate |
| `/projects/<id>/email/settings` | sender, postal address, signup form; `#agents`: the monthly allowance for agents |
| `/projects/<id>/ai` | the AI calls |
| `/projects/<id>/payments` | `env`, `payment` (`pay_…`: opens it), `subscription` (marks one), `subscriptions` (`active`, `trialing`, `past_due`, `unpaid`, `incomplete` or `canceled`), `archived=1` (archived products), `cursor` |
| `/projects/<id>/payments/<paymentId>` | the same as `?payment=<paymentId>` |
| `/projects/<id>/connectors` | the list |
| `/projects/<id>/connectors/<name>` | one connector; its calls: `env` (`all`, `production` or `development`), `cursor` |
| `/projects/<id>/company` | `env` |
| `/projects/<id>/social` | `env`, `view` (`calendar`, `posts`, `accounts` or `ads`; default `calendar`), `month` (`YYYY-MM`, the calendar), `status` (posts: comma-separated), `account` (`sacc_…`), `platform`, `post` (`spost_…`: opens it), `change` (`sadc_…`: marks an ad change), `ad_account` |
| `/projects/<id>/web-data` | the project's web data runs: `action` (e.g. `ads.library`: the form and the history for it), `run` (`arun_…`: opens that run's result) |
| `/projects/<id>/design` | the design specs `web.design` saved to the project: `spec` (`file_…`: which one, default the newest), `export` (`tailwind`, `shadcn`, `css`, `brief`: the export shown) |
| `/projects/<id>/export` | `env` (`production` or `development`), `include` (comma-separated: `code`, `database`, `database_csv`, `env_guide`), `export` (`exp_…`: marks one) |
| `/projects/<id>/usage`, `/projects/<id>/settings` | |

**The account:**

| Path | Parameters |
| --- | --- |
| `/` | Overview |
| `/projects` | `new=1` (the new-project dialog) |
| `/usage` | `period` (`24h`, `7d`, `30d` or `month`; default `30d`), `by` (`capability`, `tool`, `model` or `project`) |
| `/keys` | `new=1` (the new-key dialog), `revoked=1` (shows revoked keys) |
| `/inbox`, `/inbox/<view>` | the business's mailboxes. `<view>`: `starred`, `sent`, `archive`, `all`, `spam`, `trash` (none: the inbox). `mailbox` (`mbx_…`), `q` (search), `thread` (`mthr_…`: opens that conversation), `compose` (`new`; with `thread`: `reply`, `all` or `forward`), `msg` (the message a reply answers). Inbox results carry these links |
| `/inbox/setup` | mailboxes and each domain's DNS records with their status: `domain` (scrolls to it), `address` (`hello@yourdomain.com`: a mailbox proposed, filled in for the owner to add) |
| `/inbox/settings` | `mailbox` (`mbx_…`): its name, signature, agent access, daily limit; the new-mail digest |
| `/models` | `q` (words in a model's id, name or maker: `claude opus`), `type` (`llm`, `image`, `video`, `speech`, `transcription` or `embeddings`). `GET /v1/ai/models` carries this link |
| `/web-data` | scrape, crawl, search, ad library…: `action` (the action picked in the form and the history filtered to it), `run` (`arun_…`: opens that run's result). `POST /v1/actions/:name` and `GET /v1/actions/runs` carry these links |
| `/get-started` | `client` (`claude`, `codex`, `cursor`, `vscode`, `windsurf`, `gemini-cli` or `opencode`: that agent's manual route). Works signed out: the link to hand someone who has no account yet |

**Platform** (admins only):

| Path | Parameters |
| --- | --- |
| `/platform` | `period` (`24h`, `7d` or `30d`; default `7d`) |
| `/platform/payments` | `env` (default `production`), `period` (the summary), transactions: `type` (`payment`, `refund`, `dispute`, `subscription`, `withdrawal` or `adjustment`), `status` (with a type), `q` (an id or an email: a customer, a payment, a project), `project`, `account`, `cursor`; balances: `balances` (`all`, `held`, `negative` or `frozen`), `bq` (a project or account), `bcursor` |
| `/platform/payments/<id>` | the same as `?q=<id>` |
| `/platform/analytics` | `period` |
| `/platform/analytics/<projectId>` | `period`: one project's report |
| `/platform/replays` | `period`, `account`, `project`, `errors=1`, `rage=1`, `length` (minimum seconds: `10`, `30`, `60` or `300`) |
| `/platform/replays/<projectId>/<sessionId>` | one session, with the list's parameters for the way back |

Examples: `/projects/prj_1/users?q=ana@example.com`, `/projects/prj_1/replays?period=24h&filter=errors`, `/projects/prj_1/payments?env=development&payment=pay_1`, `/platform/payments?q=ana@example.com`, `/platform/replays?account=ten_1&project=prj_1&errors=1`.
