# Retrieve a metaobject definition

> Retrieve a metaobject definition by its identifier.
{/* generated:versioned-pages - edit _pm-authored, not this file */}

`GET /api/metaobject_definitions/{id}`

Retrieves a MetaobjectDefinition resource.

Returns a single metaobject definition by id, including its `type` slug, `displayNameField` and `fieldDefinitions`.

## Path parameters

| Name | Type     | Required | Description                     |
| ---- | -------- | -------- | ------------------------------- |
| `id` | `string` | Yes      | MetaobjectDefinition identifier |

## Query parameters

| Name           | Type       | Required | Description                                                                                                                                                                                                                                                                          |
| -------------- | ---------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `properties[]` | `string[]` | -        | Allows you to reduce the response to contain only the properties you need. If your desired property is nested, you can address it using nested arrays. Example: properties[]={propertyName}&properties[]={anotherPropertyName}&properties[{nestedPropertyParent}][]={nestedProperty} |

## Response

**200** - MetaobjectDefinition resource

| Property           | Type                                          | Required | Description                                                                                                                                                                                                                                                                               |
| ------------------ | --------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `@context`         | `string \| object`                            | -        |                                                                                                                                                                                                                                                                                           |
| `@id`              | `string`                                      | Yes      |                                                                                                                                                                                                                                                                                           |
| `@type`            | `string`                                      | Yes      |                                                                                                                                                                                                                                                                                           |
| `createdAt`        | `string`                                      | -        | The date and time when the resource was created (ISO 8601 format).                                                                                                                                                                                                                        |
| `description`      | `string \| null`                              | -        | The description of the metaobject definition.                                                                                                                                                                                                                                             |
| `displayNameField` | `string \| null`                              | -        | The key of the field definition used as the display name for records of this type. Optional - when omitted it is null and records have no derived display name. When set, it must match the key of one of this definition's fieldDefinitions, otherwise the request is rejected with 422. |
| `fieldDefinitions` | `EmbeddedMetaobjectFieldDefinitionResource[]` | -        | The field definitions that make up this metaobject definition.                                                                                                                                                                                                                            |
| `id`               | `string`                                      | -        | The resource's unique identifier (UUID).                                                                                                                                                                                                                                                  |
| `name`             | `string`                                      | Yes      | The human-readable name of the metaobject definition.                                                                                                                                                                                                                                     |
| `type`             | `string`                                      | Yes      | The unique slug identifier for this metaobject definition.                                                                                                                                                                                                                                |
| `updatedAt`        | `string`                                      | -        | The date and time when the resource was last modified (ISO 8601 format).                                                                                                                                                                                                                  |

## Errors

**403** - Access denied. The caller is missing one or more permissions required for this operation.

| Property             | Type               | Required | Description                                                                                                            |
| -------------------- | ------------------ | -------- | ---------------------------------------------------------------------------------------------------------------------- |
| `@context`           | `string \| object` | -        |                                                                                                                        |
| `@id`                | `string`           | Yes      |                                                                                                                        |
| `@type`              | `string`           | Yes      |                                                                                                                        |
| `detail`             | `string`           | -        |                                                                                                                        |
| `missingPermissions` | `string[]`         | -        | Permissions that the caller is missing for this operation. Present only when the 403 is caused by a denied permission. |
| `status`             | `integer`          | -        |                                                                                                                        |
| `title`              | `string`           | -        |                                                                                                                        |
| `type`               | `string`           | -        |                                                                                                                        |

**404** - Not found

| Property      | Type               | Required | Description                                                                                                                          |
| ------------- | ------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `@context`    | `string \| object` | -        |                                                                                                                                      |
| `@id`         | `string`           | Yes      |                                                                                                                                      |
| `@type`       | `string`           | Yes      |                                                                                                                                      |
| `code`        | `string`           | -        | Stable identifier of the error in the error code catalogue (see /api/error-codes). Present on catalogued errors only.                |
| `description` | `string \| null`   | -        |                                                                                                                                      |
| `detail`      | `string \| null`   | -        | A human-readable explanation specific to this occurrence of the problem.                                                             |
| `instance`    | `string \| null`   | -        | A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. |
| `message`     | `string`           | -        | End-user message localized in the request locale, with this occurrence's values substituted. Present on catalogued errors only.      |
| `slug`        | `string`           | -        | Stable, readable key of the error in the error code catalogue. Present on catalogued errors only.                                    |
| `status`      | `integer \| null`  | -        |                                                                                                                                      |
| `title`       | `string \| null`   | -        | A short, human-readable summary of the problem. For a catalogued error it repeats the `slug`.                                        |
| `type`        | `string`           | -        | A URI reference that identifies the problem type. For a catalogued error it is the error code resource, `/api/error-codes/{code}`.   |

## Examples

### Example request

```bash
curl -X GET 'https://<tenant>.product-management.flowkiwi.net/api/metaobject_definitions/<product_id>' \
  -H 'Authorization: Bearer {access_token}' \
  -H 'Flowkiwi-Api-Version: unstable' \
  -H 'Accept: application/ld+json'
```

### Example response

```json
{
  "@context": "/api/contexts/MetaobjectDefinition",
  "@id": "/api/metaobject_definitions/019afc01-1a2b-7c3d-8e4f-0a1b2c3d4e5f",
  "@type": "MetaobjectDefinition",
  "createdAt": "2026-01-15T09:30:00+00:00",
  "description": "Size charts shown on product pages.",
  "displayNameField": "title",
  "fieldDefinitions": [
    {
      "description": "The size guide title.",
      "id": "019afc02-2b3c-7d4e-9f50-1a2b3c4d5e6f",
      "key": "title",
      "name": "Title",
      "required": true,
      "type": "/api/metafield_definition_types/single_line_text_field",
      "validations": []
    },
    {
      "description": "The size chart body.",
      "id": "019afc03-3c4d-7e5f-8a60-2b3c4d5e6f70",
      "key": "body",
      "name": "Body",
      "required": false,
      "type": "/api/metafield_definition_types/multi_line_text_field",
      "validations": []
    }
  ],
  "id": "019afc01-1a2b-7c3d-8e4f-0a1b2c3d4e5f",
  "name": "Size guide",
  "type": "size_guide",
  "updatedAt": "2026-02-03T14:45:12+00:00"
}
```
