v1

latestOpenAPI 3.0.1MIT2026-07-263151,3912.3 MB
Management

Create Metadata Schema

Creates a new metadata (custom attribute) schema for a given resource.

The schema consists of a set of key-value pairs to customize Voucherify resources.

You can nest your object within a standard metadata schema, e.g. within a campaign or customer schema. However, your nested object can't include another nested object. The standard metadata schemas are:

  • Campaign
  • Voucher
  • Publication
  • Redemption
  • Product
  • Customer
  • Order
  • Order line item
  • Loyalty Tier
  • Promotion Tier
  • Earning rule
  • Reward

Use this endpoint to define a metadata schema of a given resource for the first time. Once you configure a metadata schema for a given related_object, use the PUT Update metadata schema endpoint to either update or add new metadata key-value pairs. For example, use this endpoint to define a metadata schema for related_object: campaign for the first time. If you want define a new metadata property for campaign, use the PUT Update metadata schema endpoint.

📘 Metadata Documentation

Read the Getting Started with Metadata and Metadata Mapping articles to learn how metadata work in Voucherify.

post/management/v1/projects/{projectId}/metadata-schemas

Request body

related_objectstring required

The resource type. You can define custom metadata schemas, which have a custom "related_object" resource type, or you can use standard resource types: "campaign", "customer", "earning_rule", "loyalty_tier", "order", "order_item", "product", "promotion_tier", "publication", "redemption", "reward", "voucher".

allow_defined_onlyboolean

Restricts the creation of metadata fields when set to true. In other words, it indicates whether or not you are allowed to create new metadata definitions; for example, in the campaign manager or publication manager. If it is set to true, then only the defined fields will be available for assigning values.

propertiesobject required

Contains metadata definitions. There can be many properties within this object.

Only the properties sent in the request will be created.

Response

Returns the details about the metadata schema.

idstring required

Unique identifier of the metadata schema.

related_objectstring required

The resource type. You can define custom metadata schemas, which have a custom "related_object" resource type. The standard metadata schemas are: "campaign", "customer", "earning_rule", "loyalty_tier", "order", "order_item", "product", "promotion_tier", "publication", "redemption", "reward", "voucher".

propertiesobject required

Contains metadata definitions.

allow_defined_onlyboolean nullable required

Restricts the creation of metadata fields when set to true. It indicates whether or not you can create new metadata definitions, e.g. in the campaign or publication manager. If set to true, then only the defined fields are available for assigning values.

created_atstring date-time required

Timestamp representing the date and time when the metadata schema was created. The value for this parameter is shown in the ISO 8601 format.

updated_atstring date-time nullable required

Timestamp representing the date and time when the metadata schema was updated. The value for this parameter is shown in the ISO 8601 format.

objectstring required

The type of the object represented by the JSON. This object stores information about the metadata schema.

Example response

{
  "created_at": "2021-12-03T13:33:44.556Z",
  "updated_at": "2022-08-11T08:05:30.695Z"
}