> ## 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 a specific content type by ID

## Path Parameters

<ParamField path="organizationId" type="string" required>
  Organization ID
</ParamField>

<ParamField path="projectId" type="string" required>
  Project ID
</ParamField>

<ParamField path="id" type="string" required>
  Content Type ID
</ParamField>

## Response

Returns the complete ContentType object including the auto-generated schema.

```json theme={null}
{
  "id": "ct123",
    "name": "Article",
    "description": "Standard article content type for long-form written content...",
    "status": "published",
    "version": 3,
    "lastPublishedVersion": 3,
    "layoutComponentId": "c123",
    "componentIdsAllowList": [
      "c124",
      {
        "id": "questions",
        "name": "Question Components",
        "componentIds": ["c125", "c126"]
      }
    ],
    "packageVersion": "1.0.0",
    "schema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "description": "Article title",
          "minLength": 1,
          "maxLength": 200
        },
        "components": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "type": { "const": "ArticleParagraph" },
                  "text": { "type": "string" }
                },
                "required": ["type", "text"]
              }
            ]
          }
        }
      },
      "required": ["title", "components"]
    },
    "templateContentIds": ["cont123", "cont124"],
    "permissions": {
      "roles": ["editor", "journalist"],
      "users": ["jane.doe@metabind.ai"],
      "publish": {
        "roles": ["editor"],
        "users": []
      }
    },
    "metadata": {
      "author": "admin@metabind.ai",
      "tags": ["article", "content"],
      "locales": ["en-US", "es-ES", "fr-FR"],
      "publishedAt": "2024-03-20T15:00:00Z",
      "publishedBy": "jane.doe@metabind.ai"
    },
  "createdAt": "2024-03-20T10:00:00Z",
  "updatedAt": "2024-03-20T15:00:00Z"
}
```

## Error Responses

### Content Type Not Found

```json theme={null}
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Content type not found"
  }
}
```

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/content-types/ct123" \
    -H "Authorization: Bearer YOUR_JWT"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/content-types/ct123',
    {
      headers: {
        'Authorization': 'Bearer YOUR_JWT'
      }
    }
  );

  const contentType = await response.json();
  console.log(`Content type: ${contentType.name} (v${contentType.version})`);

  // Use the schema for validation
  const schema = contentType.schema;
  console.log(`Required fields: ${schema.required.join(', ')}`);
  ```
</CodeGroup>
