---
title: "POST /api/v1.0/{appId}/metafields/definitions/{ownerEntity}"
method: POST
path: "/api/v1.0/{appId}/metafields/definitions/{ownerEntity}"
tags: ["MetafieldDefinitions"]
---

# POST /api/v1.0/{appId}/metafields/definitions/{ownerEntity}

`POST /api/v1.0/{appId}/metafields/definitions/{ownerEntity}`

## Path parameters

- `appId` string, required
- `ownerEntity` 'CatalogItem' | 'CatalogGroup' | 'Menu', required

## Request body

- CreateMetafieldDefinition — Information to create a {Flipdish.Metafields.PublicModels.V1.MetafieldDefinition}
  - `IsReadOnly` boolean — Indicates if a definition can be edited or not
  - `OwnerEntity` 'CatalogItem' | 'CatalogGroup' | 'Menu' — The Metafield will extend the specified {Flipdish.Metafields.PublicModels.V1.MetafieldDefinitionBase.OwnerEntity}
  - `Key` string, required — Key of the metafield. The key must have two parts, separated by a dot. The first part acts as a category, for organizational purposes. The parts can be composed of lowercase letters, numbers, hyphen and underscore
  - `ValueType` 'Boolean' | 'Json' | 'SingleLineString' | 'MultiLineString' — The excepted type for the Value field
  - `Name` string, required — Field Name
  - `Description` string — Field Description
  - `Behaviors` string[] — Enable Metafield Behaviors
  - `MetafieldDefinitionRecommendationId` integer, nullable — Metafield Recommendation Id

## Response `200`

OK

- RestApiResultMetafieldDefinition — Rest api result
  - `Data` MetafieldDefinition, required — Metafield Definition
    - `IsReadOnly` boolean — Indicates if a definition can be edited or not
    - `OwnerEntity` 'CatalogItem' | 'CatalogGroup' | 'Menu' — The Metafield will extend the specified {Flipdish.Metafields.PublicModels.V1.MetafieldDefinitionBase.OwnerEntity}
    - `Key` string, required — Key of the metafield. The key must have two parts, separated by a dot. The first part acts as a category, for organizational purposes. The parts can be composed of lowercase letters, numbers, hyphen and underscore
    - `ValueType` 'Boolean' | 'Json' | 'SingleLineString' | 'MultiLineString' — The excepted type for the Value field
    - `Name` string, required — Field Name
    - `Description` string — Field Description
    - `Behaviors` string[] — Enable Metafield Behaviors
    - `MetafieldDefinitionRecommendationId` integer, nullable — Metafield Recommendation Id

## Other responses

- `400` — BadRequest
- `401` — Authentication has been denied for this request.
- `403` — Successful authentication, but authorization has been denied for this request.

---

[API](https://skmtc.net/flipdish/apis/flipdish-open-api-v1-0.md) · [All operations](https://skmtc.net/flipdish/apis/flipdish-open-api-v1-0/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/flipdish/flipdish-open-api-v1-0/versions/a72c0465da74/schema)
