---
title: Metadata Types
description: Metadata Types protocol schemas
---

{/* ⚠️  AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs go in content/docs/guides/. */}

Supported metadata file formats

<Callout type="info">
**Source:** `packages/spec/src/shared/metadata-types.zod.ts`
</Callout>

## TypeScript Usage

```typescript
import { BaseMetadataRecord } from '@objectstack/spec/shared';
import type { BaseMetadataRecord } from '@objectstack/spec/shared';

// Validate data
const result = BaseMetadataRecord.parse(data);
```

---

## BaseMetadataRecord

Base metadata record fields shared across kernel and system

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **id** | `string` | ✅ | Unique metadata record identifier |
| **type** | `string` | ✅ | Metadata type (e.g. "object", "view", "flow") |
| **name** | `string` | ✅ | Machine name (snake_case) |
| **format** | `Enum<'yaml' \| 'json' \| 'typescript' \| 'javascript'>` | optional | Source file format |


---

