---
title: "init(type:description:representNilExplicitlyInGeneratedContent:properties:)"
framework: foundationmodels
role: symbol
role_heading: Initializer
path: "foundationmodels/generationschema/init(type:description:representnilexplicitlyingeneratedcontent:properties:)"
---

# init(type:description:representNilExplicitlyInGeneratedContent:properties:)

Creates a schema by providing an array of properties.

## Declaration

```swift
init(type: any Generable.Type, description: String? = nil, representNilExplicitlyInGeneratedContent explicitNil: Bool, properties: [GenerationSchema.Property])
```

## Parameters

- `type`: The type this schema represents.
- `description`: A natural language description of this schema.
- `properties`: An array of properties.

## See Also

### Creating a generation schema

- [init(root:dependencies:)](foundationmodels/generationschema/init(root:dependencies:).md)
- [init(type:description:anyOf:)](foundationmodels/generationschema/init(type:description:anyof:).md)
- [init(type:description:properties:)](foundationmodels/generationschema/init(type:description:properties:).md)
- [GenerationSchema.Property](foundationmodels/generationschema/property.md)
