DeliveryMethodDefinition – unexpected query-like suffix in GID from deliveryProfiles response

Hi,

while querying the GraphQL deliveryProfiles endpoint, I noticed that delivery method IDs include an extra query-like suffix. Example:

Query:

query deliveryProfiles {
  deliveryProfiles(first: 5) {
    nodes {
      profileLocationGroups {
        locationGroupZones(first: 100) {
          nodes {
            methodDefinitions(first: 50) {
              nodes {
                id
                name
              }
            }
          }
        }
      }
    }
  }
}

Response snippet:

{
  "id": "gid://shopify/DeliveryMethodDefinition/597520482371?f95d0cba=c2cd10bf",
  "name": "Pickup Point"
}

I expected a standard GID without parameters, e.g.:

gid://shopify/DeliveryMethodDefinition/597520482371

Is this suffix (e.g., ?f95d0cba=c2cd10bf) an intentional change (e.g., versioning/cache/obfuscation), or a bug/regression?

Key questions:

  1. Should we treat the entire returned string (including the suffix) as the stable identifier, or is it safe to stripeverything after ? and use the “clean” GID?

  2. Can this suffix change over time / between calls / per shop?

  3. Will other endpoints start returning GIDs in this form as well?

Thanks for the clarification!

Best,

Sebastian

Hi Sebastian,

Should we treat the entire returned string (including the suffix) as the stable identifier, or is it safe to stripeverything after ? and use the “clean” GID?

We expect the client to treat the entire string as an identifier.

Can this suffix change over time / between calls / per shop?

The parameters might change with certain mutation updates.

Will other endpoints start returning GIDs in this form as well?

There are already other endpoints returning parameterized global IDs in this format today. See this for more info on parameterized global IDs.