create_project
Create a new project to organize content and context into a workstream, optionally with a brief supplied directly or generated by AI. Use the returned project ID to associate new content with the project.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | — | The project's display name, shown in the project list and used to label it everywhere. Required and must be non-empty (surrounding whitespace is trimmed); there is no length limit. If you also pass project_brief_instructions, this name is inserted into the AI prompt used to write the brief, so a descriptive name produces a better brief. |
visibility | string | No | team | Who on the team can see the project. "team" (the default when omitted) makes it visible to team admins and editors as well as anyone added to the project; "private" limits it to people explicitly added as project members — the creator is added automatically. Set "private" only when the work should not be browsable by the wider team; these are the only two accepted values. |
project_brief_instructions | string | No | — | Prompt describing the brief to AUTO-GENERATE with AI (uses Studio Credits). Mutually exclusive with project_brief_content, which takes precedence. |
project_brief_content | string | No | — | Finished brief text to save DIRECTLY as the project brief (no AI, no Studio Credits). Takes precedence over project_brief_instructions. |
Input Schema
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The project's display name, shown in the project list and used to label it everywhere. Required and must be non-empty (surrounding whitespace is trimmed); there is no length limit. If you also pass project_brief_instructions, this name is inserted into the AI prompt used to write the brief, so a descriptive name produces a better brief."
},
"visibility": {
"enum": [
"team",
"private"
],
"type": "string",
"description": "Who on the team can see the project. \"team\" (the default when omitted) makes it visible to team admins and editors as well as anyone added to the project; \"private\" limits it to people explicitly added as project members — the creator is added automatically. Set \"private\" only when the work should not be browsable by the wider team; these are the only two accepted values."
},
"project_brief_content": {
"type": "string",
"description": "Finished brief text to save DIRECTLY as the project brief (no AI, no Studio Credits). Takes precedence over project_brief_instructions."
},
"project_brief_instructions": {
"type": "string",
"description": "Prompt describing the brief to AUTO-GENERATE with AI (uses Studio Credits). Mutually exclusive with project_brief_content, which takes precedence."
}
}
}Output Schema
{
"type": "object",
"required": [
"project_id",
"name",
"link_url"
],
"properties": {
"name": {
"type": "string",
"description": "Project name."
},
"link_url": {
"type": "string",
"description": "Direct URL to view this project in Marcora."
},
"project_id": {
"type": "string",
"format": "uuid",
"description": "Project identifier."
},
"project_brief": {
"type": [
"object",
"null"
],
"properties": {
"name": {
"type": "string"
},
"content_id": {
"type": "string",
"format": "uuid"
}
},
"description": "Present (non-null) only when project_brief_details was supplied. {name, content_id}. content_id is the canvas UUID — pass it to update_content / get_content to edit or read the brief. name may be empty immediately after creation while AI generation is in flight."
}
}
}Instructions
Create a new project for organizing content and context into a workstream. Optionally generates a project brief document in the same call.
Example prompts
- "Create a project for our Q3 product launch"
- "Start a new project called 'Brand Refresh 2025'"
- "Create a project for our Acme deal with a brief covering the customer's stack and pain points"