# Create an entity

Copy as Markdown[View as Markdown](/docs/development/guides/resources/entities/create-entity.md)

***

An entity is a documented business object or concept that your architecture cares about. You can document entity properties, and assign them to any domain, system or service in your architecture.

![Example entity page in EventCatalog](/assets/images/entity-example-92bff1cd964b66ec36fd185bfb2ea6c3.png)

## Creating an entity[​](#creating-an-entity "Direct link to Creating an entity")

### Automatic Creation[​](#automatic-creation "Direct link to Automatic Creation")

Copy this prompt and paste it into your coding agent. Your agent can help you decide where the entity should live, define the properties, and create the starter documentation.

### Manual Creation[​](#manual-creation "Direct link to Manual Creation")

Most teams start by creating shared entities at the root of the catalog.

* entities

  <!-- -->

  /

  * order
    <!-- -->
    /
    * index.mdx
  * customer
    <!-- -->
    /
    * index.mdx

You can also keep entities inside the resource folder they clearly belong to.

* domains
  <!-- -->
  /
  * Ordering
    <!-- -->
    /
    * entities
      <!-- -->
      /
      * order
        <!-- -->
        /
        * index.mdx

## Create the entity file[​](#create-the-entity-file "Direct link to Create the entity file")

Create an `index.mdx` file for the entity.

/entities/order/index.mdx

```
---
# Unique identifier for the entity. Used in URLs and resource references.
id: order
# Friendly display name shown in EventCatalog.
name: Order
# Version of this entity documentation.
version: 1.0.0
# Short summary shown in lists, sidebars, and previews.
summary: Represents a customer's purchase.
# The property that uniquely identifies this entity.
identifier: orderId
# Optional. Marks this entity as the aggregate root for the model.
aggregateRoot: true
# Teams or users that own this entity.
owners:
  - ordering-platform
# Properties that describe the shape of the entity.
properties:
  # Unique identifier for this order.
  - name: orderId
    # Data type for the property.
    type: string
    # Whether this property is required.
    required: true
    # Human-readable description of what the property represents.
    description: Unique identifier for the order.
  # Identifier for the customer that placed the order.
  - name: customerId
    # Data type for the property.
    type: string
    # Whether this property is required.
    required: true
    # Human-readable description of what the property represents.
    description: Customer that placed the order.
    # Entity this property references.
    references: customer
    # Label used to describe the relationship in entity maps.
    relationType: placedBy
    # Identifier property on the referenced entity.
    referencesIdentifier: customerId
  # Current lifecycle state of the order.
  - name: status
    # Data type for the property.
    type: string
    # Whether this property is required.
    required: true
    # Human-readable description of what the property represents.
    description: Current lifecycle state of the order.
---

## Overview

The Order entity represents a customer's purchase and tracks the state required to fulfil, pay for, and ship that purchase.

<EntityPropertiesTable />
```

## Next steps[​](#next-steps "Direct link to Next steps")

* [Model entity relationships](/docs/development/guides/resources/entities/model-entity-relationships.md)
* [Add entities to resources](/docs/development/guides/resources/entities/add-entities-to-resources.md)
* [Visualize entity maps](/docs/development/guides/resources/entities/entity-maps.md)
* [Review the entities reference](/docs/development/guides/resources/entities/reference.md)
