> ## 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.

# Get Content Type

> Retrieve the complete JSON schema for a content type

Retrieves the complete JSON schema and structure definition for a content type, including all component definitions and validation rules needed for content creation.

## Input Schema

```json theme={null}
{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "Project ID (optional, uses session default)"
    },
    "contentTypeId": {
      "type": "string",
      "description": "Unique identifier of the content type"
    },
    "typeVersion": {
      "type": "number",
      "description": "Specific version to retrieve (optional, defaults to latest published)"
    }
  },
  "required": ["contentTypeId"]
}
```

## Parameters

| Parameter       | Type   | Required | Description                                     |
| --------------- | ------ | -------- | ----------------------------------------------- |
| `projectId`     | string | No       | Project ID (uses session default)               |
| `contentTypeId` | string | Yes      | Unique identifier of the content type           |
| `typeVersion`   | number | No       | Specific version (defaults to latest published) |

## Response

| Field         | Type   | Description                     |
| ------------- | ------ | ------------------------------- |
| `id`          | string | Unique content type identifier  |
| `name`        | string | Display name                    |
| `description` | string | Comprehensive usage guidelines  |
| `schema`      | object | Complete JSON Schema definition |
| `status`      | string | Publication status              |
| `version`     | number | Schema version number           |

## Example

### Request

```json theme={null}
{
  "contentTypeId": "ct_story_001"
}
```

### Response

```json theme={null}
{
  "id": "ct_story_001",
  "name": "Story",
  "description": "Interactive story content type for long-form narrative experiences.\n\n**Best for:**\n- Case studies and success stories\n- Long-form articles with multimedia",
  "schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Story",
    "type": "object",
    "required": ["title", "components"],
    "properties": {
      "title": {
        "type": "string",
        "maxLength": 200
      },
      "components": {
        "type": "array",
        "items": {
          "oneOf": [
            { "$ref": "#/definitions/StoryParagraph" },
            { "$ref": "#/definitions/StoryPhoto" }
          ]
        }
      }
    }
  },
  "status": "published",
  "version": 2
}
```

## Usage

### Get Latest Published Version

```javascript theme={null}
const contentType = await mcp.call("get_content_type", {
  contentTypeId: "ct_story_001"
});

// Use the schema to understand required fields
console.log(contentType.schema.required);
// ["title", "components"]
```

### Get Specific Version

```javascript theme={null}
const contentType = await mcp.call("get_content_type", {
  contentTypeId: "ct_story_001",
  typeVersion: 1
});
```

## Understanding the Schema

The returned schema follows JSON Schema draft-07 format:

* **required**: Array of field names that must be provided
* **properties**: Object defining each field's type and constraints
* **definitions**: Reusable component type definitions
* **oneOf**: Arrays of allowed component types

<Tip>
  Always fetch the content type schema before creating content. This ensures you understand all required fields and validation rules.
</Tip>
