Skip to main content

Create/Update Metaobjects

The endpoint allows you to create or update (Upsert) a metaobject on Shopify. A metaobject is a custom data structure in Shopify that allows you to create reusable objects with multiple fields defined by the store manager. In addition, the system also handles translations of individual fields defined previously.

Metaobject Create/Update Flow Configuration

In addition to the base data flow configuration, it is necessary to add the following settings in Settings Override:

FieldValueNote
Base Urlhttps://adapt.flowlyze.comadapter URL
Resource Pathapi/adp/shopify/egress/sync-metaobject-to-shopifyAdapter path for metaobject upsert flow.
Headers :: x-api-key**********API key for endpoint interaction verification
Headers :: x-shopify-access-tokenshpat_CODICEALFANUMERICOSecret of the custom app created for integration
Headers :: x-shopify-graphql-urlhttps://SHOPIFYURL.myshopify.com/Shopify shop URL to connect to

Input Message

The endpoint works in upsert mode: it is possible to send partial JSONs and only the specified fields will be updated on Shopify. Fields not included in the request will not be modified.

Available fields

  • isPublished
    Type: boolean
    Indicates whether the metaobject is published (true) or in draft state (false). When published, it can be referenced in the storefront or in apps. Default: false.

  • handle
    Type: string
    Unique readable identifier (slug). Used to link the metaobject via Liquid, Storefront API or via metafield of reference type. Required field.

  • type
    Type: string
    Specifies the type or definition of the metaobject, corresponding to the model used (e.g. "meta_type"). Determines the structure and available fields. Note that the type must be defined beforehand by the store manager. Required field.

  • fields
    Type: object
    Contains user-defined values for model fields (excluding file type fields). It is a key-value dictionary.

    Example:

    "fields": {
    "key1": "value1",
    "key2": "value2"
    }
  • files Type: object Contains values of user-defined file type fields. It is a key-value dictionary.

    Example:

      "files": {
    "key3": "http://example-value-3.jpg",
    "key4": "http://example-value-4.pdf"
    }
  • translations Type: object Contains localized translations for metaobject fields. The structure is organized by field and language.

    Example:

      "translations": {
    "key1": {
    "fr": "valeur-fr",
    "it": "valore-it"
    }
    }

Structure

Below is a complete example of input structure for metaobject upsert

{
"isPublished": true,
"handle": "summer-collection-banner",
"type": "promo_banner",
"fields": {
"title": "Summer Sale 2025",
"subtitle": "Up to 50% off on selected items"
},
"files": {
"file_pdf": "http://example/Pdf/file_pdf.pdf",
"file_video": "http://example/Video/file_video.mp4",
"file_image": "http://example/Images/file_image.jpg"
},
"translations": {
"title": {
"fr": "Soldes d'été 2025",
"it": "Saldi Estivi 2025"
},
"subtitle": {
"fr": "Jusqu'à 50% de réduction sur une sélection d'articles",
"it": "Fino al 50% di sconto su articoli selezionati"
}
}
}