> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. # Schema > Display any type definition from your API Reference The `` component displays type definitions from your API Reference anywhere in your documentation. Use it to reference data models, request objects, or response types outside of your API Reference pages. When AI agents fetch the [Markdown version](/learn/docs/ai-features/markdown) of a page, Fern renders the type definition as structured content in the Markdown output. Similar to [``](/learn/docs/writing-content/components/endpoint-schema-snippet), but accepts any type name rather than being limited to endpoint-specific schemas. Pair with [``](/learn/docs/writing-content/components/schema-snippet) to display the JSON representation alongside the field breakdown. > **Note** > > The component only discovers types referenced by endpoints. Types exclusively used by websockets or webhooks won't be available. If multiple APIs have the same type name, the component returns the first match. ## Usage The component works with [API references already configured in your `docs.yml`](/learn/docs/api-references/overview). This example displays the `AIChatConfig` type from the `docs-yml` API: ### Schema (`AIChatConfig`) ```yaml components: schemas: docs_AIChatModel: type: string enum: - claude-3.5 - claude-3.7 - claude-4 - command-a title: AIChatModel docs_AIChatConfig: type: object properties: model: $ref: '#/components/schemas/docs_AIChatModel' system-prompt: type: string description: >- This is a system prompt that acts as context given to the LLM for AI chat. title: AIChatConfig ``` **`Markdown`** ```jsx Markdown ``` ### Filtering fields Use `include` to display only specific fields, or `exclude` to hide certain fields: **`Markdown`** ```jsx Markdown {/* Only show these two fields */} {/* Show all fields except these */} ``` ## Properties **`type`** `string` — required The name of the type to display. The component will search for this type across all endpoints in your API definition. --- **`api`** `string` The name of the API to fetch the type from. If not specified, the type will be fetched from the first API that contains it. --- **`description`** `boolean` If `true`, includes the type definition's description above the schema fields. This is useful for displaying comments associated with the type, such as Protobuf message comments. --- **`include`** `string[]` A list of field names to include in the rendered schema. When specified, only the listed fields will be displayed. This is useful when you want to explicitly control which fields appear, avoiding the need to update an `exclude` list whenever the underlying type gains new fields. --- **`exclude`** `string[]` A list of field names to exclude from the rendered schema. --- **`excludeDeprecated`** `boolean` If `true`, hides deprecated fields from the rendered schema. --- **`className`** `string` Optional CSS class name for custom styling. --- > Display any type definition from your API Reference