---
title: "init(name:description:properties:)"
framework: foundationmodels
role: symbol
role_heading: Initializer
path: "foundationmodels/dynamicgenerationschema/init(name:description:properties:)"
---

# init(name:description:properties:)

Creates an object schema.

## Declaration

```swift
init(name: String, description: String? = nil, properties: [DynamicGenerationSchema.Property])
```

## Parameters

- `name`: A name this dynamic schema can be referenced by.
- `description`: A natural language description of this schema.
- `properties`: The properties to associated with this schema.

## See Also

### Creating a dynamic schema

- [init(arrayOf:minimumElements:maximumElements:)](foundationmodels/dynamicgenerationschema/init(arrayof:minimumelements:maximumelements:).md)
- [init(name:description:anyOf:)](foundationmodels/dynamicgenerationschema/init(name:description:anyof:).md)
- [init(name:description:representNilExplicitlyInGeneratedContent:properties:)](foundationmodels/dynamicgenerationschema/init(name:description:representnilexplicitlyingeneratedcontent:properties:).md)
- [init(referenceTo:)](foundationmodels/dynamicgenerationschema/init(referenceto:).md)
- [init(type:guides:)](foundationmodels/dynamicgenerationschema/init(type:guides:).md)
- [DynamicGenerationSchema.Property](foundationmodels/dynamicgenerationschema/property.md)
