project_create
ManagementcatalogCreate Project
Not in the default tool list
This tool lives in the tool catalog. Discover it with scenario_tools_search (or enumerate everything with scenario_tools_list) and run it via scenario_tool_execute_write. To list every tool directly, connect with ?toolsets=full.
Create a new project in a Scenario team. Needs a team admin signed in through OAuth (API keys are refused), and counts against the plan's project limit.
Returns: { project, member_count, api_key_count } for the new project. Pass project.id as project_id to the generation, asset and model tools to work inside it.
Example: "Create a project called Spring Campaign" -> team_id="team_abc123", name="Spring Campaign".
In a team with no projects at all, the API first creates a default project, which counts toward the limit and stays even when this call is then refused: check projects_list afterwards and offer to rename it with project_update rather than keep two.
Don't use when: the project already exists — find it with projects_list. To invite people afterwards use project_members_add; to set a description, project_update.
open-world
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| team_id | string | ✓ | Team ID. Get it from teams_list. |
| name | string | ✓ | Name of the new project. |
| privacy_mode | boolean | — | When true, non-admin members see only the assets and models they created (project and team admins see everything). Defaults to false. |
| auto_join | boolean | true | Add the caller as an explicit Admin member of the new project, which keeps their access if they stop being team admin. That membership counts as a member when someone else later tries project_delete. Defaults to true. |
| project_id | string | — | Optional. Ignored: the project is created in team_id. |
| response_format | enum(json | markdown) | json | Output format: 'json' for structured data, 'markdown' for human-readable text. |
Example Request
JSON
{
"team_id": "team_abc123",
"name": "Spring Campaign"
}Example Response
JSON
{
"project": {
"id": "proj_spring01",
"teamId": "team_abc123",
"name": "Spring Campaign",
"privacyMode": false
},
"member_count": 1,
"api_key_count": 0
}Common Use Cases
- Spin up a dedicated project for a new campaign, then generate and upload into it
- Create a private project (privacy_mode) where non-admin members only see the assets and models they created