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.
| Field | Value | Notes |
|---|---|---|
Destination Type | Shopify | |
Operation | Metaobject | POST /egress/sync-metaobject-to-shopify |
GraphQL endpoint URL | https://SHOPIFYURL.myshopify.com/ | Shopify Admin GraphQL endpoint URL |
Admin API access token | shpat_CODICEALFANUMERICO | Or Client ID (API key) + Client secret — see Authentication |
Client ID (API key) | YOUR_CLIENT_ID | |
Client secret | YOUR_CLIENT_SECRET |
Deprecated — previous configuration (HTTP Adapter)
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:
| Field | Value | Notes |
|---|---|---|
Base Url | https://adapter.flowlyze.io | Adapter URL |
Resource Path | api/adp/shopify/egress/sync-metaobject-to-shopify | Adapter path for metaobject upsert flow |
Headers :: x-api-key | ********** | API key for endpoint interaction verification |
Headers :: x-shopify-access-token | shpat_CODICEALFANUMERICO | Secret of the custom app created for integration |
Headers :: x-shopify-graphql-url | https://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"
} -
filesType:objectContains 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"
} -
translationsType:objectContains 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"
}
}
}