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.

Destination configuration

Configure a Shopify destination and associate it with the flow, in addition to the basic data flow configuration.

FieldValueNotes
Destination TypeShopify
OperationMetaobjectPOST /egress/sync-metaobject-to-shopify
GraphQL endpoint URLhttps://SHOPIFYURL.myshopify.com/Shopify Admin GraphQL endpoint URL
Admin API access tokenshpat_CODICEALFANUMERICOOr Client ID (API key) + Client secret — see Authentication
Client ID (API key)YOUR_CLIENT_ID
Client secretYOUR_CLIENT_SECRET

Deprecated — previous configuration (HTTP Adapter)

Deprecated

Configuration via HTTP Adapter with Base Url, Resource Path, and x-api-key header in Settings Override is deprecated. Use the Shopify destination configuration described above.

In addition to the basic data flow configuration, the following Settings Override settings were required:

FieldValueNotes
Base Urlhttps://adapter.flowlyze.ioAdapter 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"
}
}
}