
## Custom metadata structures overview

URL: https://docs.atlan.com/product/capabilities/build-apps/sdks/python/custom-metadata/how-tos

> Learn about the composition of custom metadata structures in Atlan and how to create them programmatically.

# Custom metadata structures overview

Custom metadata in Atlan is structurally composed of two levels:

1. The custom metadata definition (sometimes referred to as *set*) itself, defined as a `CustomMetadataDef`
1. The *attributes* (or properties) within that custom metadata set, each defined as an `AttributeDef`

```mermaid
erDiagram
 CustomMetadataDef ||--o{ AttributeDef : contains
```

Through Atlan's APIs, you can [create your own custom metadata](https://docs.atlan.com/llms/governance/custom-metadata/create-custom-metadata/llms.txt) sets and attributes programmatically.

Once the structures exist, you can then also [change custom metadata values](https://docs.atlan.com/llms/platform/python/add-custom-metadata/llms.txt) on assets themselves.

_Last updated: 15 May 2026._

---

> **AI agent?** Install the Atlan Docs MCP for direct access: https://docs.atlan.com/skills/install-docs-mcp.md
