> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metabind.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Content

> Create new content conforming to a content type schema

Creates new content conforming to a content type's schema and structure.

## Input Schema

```json theme={null}
{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project ID (optional, uses session default)"
    },
    "typeId": {
      "type": "string",
      "description": "Content type to use as structure"
    },
    "typeVersion": {
      "type": "number",
      "description": "Version of the content type schema (defaults to latest published)"
    },
    "name": {
      "type": "string",
      "description": "Name/title for the content item"
    },
    "description": {
      "type": "string",
      "description": "Structured description (optional)"
    },
    "content": {
      "type": "object",
      "description": "Content data matching the type's JSON schema"
    },
    "tags": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Tags for categorization (optional)"
    },
    "metadata": {
      "type": "object",
      "properties": {
        "locale": { "type": "string" },
        "author": { "type": "string" }
      },
      "description": "Additional metadata"
    }
  },
  "required": ["typeId", "name", "content"]
}
```

## Parameters

| Parameter     | Type      | Required | Description                                   |
| ------------- | --------- | -------- | --------------------------------------------- |
| `projectId`   | string    | No       | Project ID (uses session default)             |
| `typeId`      | string    | Yes      | Content type to use as structure              |
| `typeVersion` | number    | No       | Schema version (defaults to latest published) |
| `name`        | string    | Yes      | Name/title for the content item               |
| `description` | string    | No       | Structured description                        |
| `content`     | object    | Yes      | Content data matching the schema              |
| `tags`        | string\[] | No       | Tags for categorization                       |
| `metadata`    | object    | No       | Additional metadata                           |

## Response

| Field         | Type   | Description                               |
| ------------- | ------ | ----------------------------------------- |
| `id`          | string | Unique identifier for the created content |
| `typeId`      | string | Content type identifier used              |
| `typeVersion` | number | Version of the content type schema used   |
| `name`        | string | Display name/title                        |
| `description` | string | Content description                       |
| `status`      | string | Initial status (typically "draft")        |
| `createdAt`   | string | ISO 8601 creation timestamp               |

## Example

### Request

```json theme={null}
{
  "typeId": "ct_story_001",
  "name": "How Acme Corp Unified Multiple Products",
  "description": "A comprehensive case study of digital transformation.\n\n**Topics:** Design Systems\n**Length:** ~1500 words",
  "content": {
    "title": "How Acme Corp Unified Multiple Products",
    "subtitle": "2024: The Digital Transformation",
    "asset": {
      "id": "asset-workspace-001"
    },
    "assetDescription": "The Acme design team collaborating on the new unified component library.",
    "components": [
      {
        "type": "StoryParagraph",
        "text": "Acme Corporation's transformation began in early 2024..."
      },
      {
        "type": "StorySubheader",
        "text": "The Challenge: Fragmentation at Scale"
      },
      {
        "type": "StoryParagraph",
        "text": "The VP of Design assembled a cross-functional team..."
      }
    ]
  },
  "tags": ["case-study", "design-system"],
  "metadata": {
    "locale": "en-US",
    "author": "content-team@acme.com"
  }
}
```

### Response

```json theme={null}
{
  "id": "cont_story_acme_001",
  "typeId": "ct_story_001",
  "typeVersion": 2,
  "name": "How Acme Corp Unified Multiple Products",
  "description": "A comprehensive case study of digital transformation...",
  "status": "draft",
  "createdAt": "2024-03-21T10:00:00Z"
}
```

## Usage

### Basic Content Creation

```javascript theme={null}
// First, get the content type schema
const contentType = await mcp.call("get_content_type", {
  contentTypeId: "ct_story_001"
});

// Then create content that matches the schema
const result = await mcp.call("create_content", {
  typeId: "ct_story_001",
  name: "My Story Title",
  content: {
    title: "My Story Title",
    components: [
      {
        type: "StoryParagraph",
        text: "Opening paragraph of the story..."
      }
    ]
  }
});
```

### With Assets

```javascript theme={null}
// Find an asset to use
const assets = await mcp.call("search_assets", {
  query: "hero image",
  type: "image/*"
});

// Create content with asset reference
const result = await mcp.call("create_content", {
  typeId: "ct_story_001",
  name: "Story with Hero Image",
  content: {
    title: "Story with Hero Image",
    asset: {
      id: assets.items[0].id
    },
    components: [...]
  }
});
```

### With Metadata

```javascript theme={null}
const result = await mcp.call("create_content", {
  typeId: "ct_story_001",
  name: "Localized Content",
  content: {...},
  metadata: {
    locale: "es-ES",
    author: "spanish-team@company.com"
  }
});
```

<Warning>
  Content is created in "draft" status. It must be published through the Metabind interface to be available via the content delivery APIs.
</Warning>
