Skip to content

Creating and managing projects

A project is the core of what you build in GenUI Portal.

Your organization starts with one, and you can create more. This page explains what a project is and how projects are created, named, and listed.

A project holds one running configuration of your generative UI and the history behind it. When you sign up, your organization is born with a first project already in it, so you always have somewhere to work.

In the dashboard you can see your projects, create one, and switch between them. The Projects page lists every project in your organization and creates a new one from a button in its header, and the switcher at the top of the shell moves you from one project to another. See Navigating the dashboard for how the organization and project scopes fit together.

You can create a project through the dashboard, the API, or the MCP server. Renaming and re-describing stay on the API and MCP for now, and an agent can rename or re-describe a project only while it has no published version.

Like most entities in GenUI Portal, projects are versioned. See Project versions.

  • “A project with this name already exists.” The name is already used by another project in your organization. Names are unique per organization; choose a different one, or rename the existing project first.
  • The agent says it cannot rename or re-describe a project. The project already has a published version, so relabeling it is a member’s action. An agent can rename or re-describe a project only while it has no published version; after that it is yours to do through the API or, when it lands, the dashboard. See Project versions.
  • A create you retried through the API made only one project. That is idempotency working as intended, not a lost request: an API create carries an idempotency key, and repeating it with the same key replays the first result rather than creating a second project. Over MCP there is no such key, so an agent that repeats a create with a name already taken is told the name exists rather than making a duplicate.