Update delivery profile to add a location and a zone to an existing group
Description
Given a delivery profile with a location group for shipping from locations in Canada,
group is updated to include shipping from a warehouse in Ottawa.
The group is also updated to allow shipping to a United States zone.
**Note:** due to the potential complexity of the nested data, it is recommended to update no more than 5 groups per each request.
Query
mutation deliveryProfileUpdate($id: ID!, $profile: DeliveryProfileInput!) {
deliveryProfileUpdate(id: $id, profile: $profile) {
profile {
id
name
profileLocationGroups {
locationGroup {
id
locations(first: 5) {
nodes {
name
address {
country
}
}
}
}
locationGroupZones(first: 2) {
edges {
node {
zone {
id
name
countries {
code {
countryCode
}
provinces {
code
}
}
}
}
}
}
}
}
userErrors {
field
message
}
}
}
Variables
{
"id": "gid://shopify/DeliveryProfile/593363170",
"profile": {
"name": "Sample Updated Delivery Profile",
"locationGroupsToUpdate": [
{
"id": "gid://shopify/DeliveryLocationGroup/955592432",
"locationsToAdd": [
"gid://shopify/Location/884687543"
],
"zonesToCreate": [
{
"name": "USA Zone",
"countries": {
"code": "US",
"provinces": [
{
"code": "CO"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
}
]
}
]
}
}
cURL
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2025-07/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation deliveryProfileUpdate($id: ID!, $profile: DeliveryProfileInput!) { deliveryProfileUpdate(id: $id, profile: $profile) { profile { id name profileLocationGroups { locationGroup { id locations(first: 5) { nodes { name address { country } } } } locationGroupZones(first: 2) { edges { node { zone { id name countries { code { countryCode } provinces { code } } } } } } } } userErrors { field message } } }",
"variables": {
"id": "gid://shopify/DeliveryProfile/593363170",
"profile": {
"name": "Sample Updated Delivery Profile",
"locationGroupsToUpdate": [
{
"id": "gid://shopify/DeliveryLocationGroup/955592432",
"locationsToAdd": [
"gid://shopify/Location/884687543"
],
"zonesToCreate": [
{
"name": "USA Zone",
"countries": {
"code": "US",
"provinces": [
{
"code": "CO"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
}
]
}
]
}
}
}'
Remix
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation deliveryProfileUpdate($id: ID!, $profile: DeliveryProfileInput!) {
deliveryProfileUpdate(id: $id, profile: $profile) {
profile {
id
name
profileLocationGroups {
locationGroup {
id
locations(first: 5) {
nodes {
name
address {
country
}
}
}
}
locationGroupZones(first: 2) {
edges {
node {
zone {
id
name
countries {
code {
countryCode
}
provinces {
code
}
}
}
}
}
}
}
}
userErrors {
field
message
}
}
}`,
{
variables: {
"id": "gid://shopify/DeliveryProfile/593363170",
"profile": {
"name": "Sample Updated Delivery Profile",
"locationGroupsToUpdate": [
{
"id": "gid://shopify/DeliveryLocationGroup/955592432",
"locationsToAdd": [
"gid://shopify/Location/884687543"
],
"zonesToCreate": [
{
"name": "USA Zone",
"countries": {
"code": "US",
"provinces": [
{
"code": "CO"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
}
]
}
]
}
},
},
);
const data = await response.json();
Ruby
session = ShopifyAPI::Auth::Session.new(
shop: "your-development-store.myshopify.com",
access_token: access_token
)
client = ShopifyAPI::Clients::Graphql::Admin.new(
session: session
)
query = <<~QUERY
mutation deliveryProfileUpdate($id: ID!, $profile: DeliveryProfileInput!) {
deliveryProfileUpdate(id: $id, profile: $profile) {
profile {
id
name
profileLocationGroups {
locationGroup {
id
locations(first: 5) {
nodes {
name
address {
country
}
}
}
}
locationGroupZones(first: 2) {
edges {
node {
zone {
id
name
countries {
code {
countryCode
}
provinces {
code
}
}
}
}
}
}
}
}
userErrors {
field
message
}
}
}
QUERY
variables = {
"id": "gid://shopify/DeliveryProfile/593363170",
"profile": {
"name": "Sample Updated Delivery Profile",
"locationGroupsToUpdate": [
{
"id": "gid://shopify/DeliveryLocationGroup/955592432",
"locationsToAdd": [
"gid://shopify/Location/884687543"
],
"zonesToCreate": [
{
"name": "USA Zone",
"countries": {
"code": "US",
"provinces": [
{
"code": "CO"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
}
]
}
]
}
}
response = client.query(query: query, variables: variables)
Node.js
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `mutation deliveryProfileUpdate($id: ID!, $profile: DeliveryProfileInput!) {
deliveryProfileUpdate(id: $id, profile: $profile) {
profile {
id
name
profileLocationGroups {
locationGroup {
id
locations(first: 5) {
nodes {
name
address {
country
}
}
}
}
locationGroupZones(first: 2) {
edges {
node {
zone {
id
name
countries {
code {
countryCode
}
provinces {
code
}
}
}
}
}
}
}
}
userErrors {
field
message
}
}
}`,
"variables": {
"id": "gid://shopify/DeliveryProfile/593363170",
"profile": {
"name": "Sample Updated Delivery Profile",
"locationGroupsToUpdate": [
{
"id": "gid://shopify/DeliveryLocationGroup/955592432",
"locationsToAdd": [
"gid://shopify/Location/884687543"
],
"zonesToCreate": [
{
"name": "USA Zone",
"countries": {
"code": "US",
"provinces": [
{
"code": "CO"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
}
]
}
]
}
},
},
});
Response
{
"deliveryProfileUpdate": {
"profile": {
"id": "gid://shopify/DeliveryProfile/593363170",
"name": "Sample Updated Delivery Profile",
"profileLocationGroups": [
{
"locationGroup": {
"id": "gid://shopify/DeliveryLocationGroup/955592432",
"locations": {
"nodes": [
{
"name": "Ottawa Store",
"address": {
"country": "Canada"
}
},
{
"name": "Ottawa Warehouse",
"address": {
"country": "Canada"
}
},
{
"name": "Shipping Origin",
"address": {
"country": "Canada"
}
}
]
}
},
"locationGroupZones": {
"edges": [
{
"node": {
"zone": {
"id": "gid://shopify/DeliveryZone/161697132",
"name": "Canada",
"countries": [
{
"code": {
"countryCode": "CA"
},
"provinces": [
{
"code": "ON"
}
]
}
]
}
}
},
{
"node": {
"zone": {
"id": "gid://shopify/DeliveryZone/1066475777",
"name": "USA Zone",
"countries": [
{
"code": {
"countryCode": "US"
},
"provinces": [
{
"code": "CO"
}
]
}
]
}
}
}
]
}
}
]
},
"userErrors": []
}
}
Update delivery profile to add a location group
Description
Given a delivery profile with a location group for shipping from Canada,
profile is updated to add a location group for shipping from the United States.
**Note:** due to the potential complexity of the nested data, it is recommended to create no more than 5 groups per each request.
Query
mutation deliveryProfileUpdate($id: ID!, $profile: DeliveryProfileInput!) {
deliveryProfileUpdate(id: $id, profile: $profile) {
profile {
id
name
profileLocationGroups {
locationGroup {
id
locations(first: 5) {
nodes {
name
address {
country
}
}
}
}
locationGroupZones(first: 2) {
edges {
node {
zone {
id
name
countries {
code {
countryCode
}
provinces {
code
}
}
}
}
}
}
}
}
userErrors {
field
message
}
}
}
Variables
{
"id": "gid://shopify/DeliveryProfile/593363170",
"profile": {
"name": "Sample Updated Delivery Profile",
"locationGroupsToCreate": [
{
"locationsToAdd": [
"gid://shopify/Location/415211365"
],
"zonesToCreate": [
{
"name": "USA Zone",
"countries": {
"code": "US",
"provinces": [
{
"code": "CO"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
},
{
"name": "Mexico Zone",
"countries": {
"code": "MX",
"provinces": [
{
"code": "MOR"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
}
]
}
]
}
}
cURL
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2025-07/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation deliveryProfileUpdate($id: ID!, $profile: DeliveryProfileInput!) { deliveryProfileUpdate(id: $id, profile: $profile) { profile { id name profileLocationGroups { locationGroup { id locations(first: 5) { nodes { name address { country } } } } locationGroupZones(first: 2) { edges { node { zone { id name countries { code { countryCode } provinces { code } } } } } } } } userErrors { field message } } }",
"variables": {
"id": "gid://shopify/DeliveryProfile/593363170",
"profile": {
"name": "Sample Updated Delivery Profile",
"locationGroupsToCreate": [
{
"locationsToAdd": [
"gid://shopify/Location/415211365"
],
"zonesToCreate": [
{
"name": "USA Zone",
"countries": {
"code": "US",
"provinces": [
{
"code": "CO"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
},
{
"name": "Mexico Zone",
"countries": {
"code": "MX",
"provinces": [
{
"code": "MOR"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
}
]
}
]
}
}
}'
Remix
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation deliveryProfileUpdate($id: ID!, $profile: DeliveryProfileInput!) {
deliveryProfileUpdate(id: $id, profile: $profile) {
profile {
id
name
profileLocationGroups {
locationGroup {
id
locations(first: 5) {
nodes {
name
address {
country
}
}
}
}
locationGroupZones(first: 2) {
edges {
node {
zone {
id
name
countries {
code {
countryCode
}
provinces {
code
}
}
}
}
}
}
}
}
userErrors {
field
message
}
}
}`,
{
variables: {
"id": "gid://shopify/DeliveryProfile/593363170",
"profile": {
"name": "Sample Updated Delivery Profile",
"locationGroupsToCreate": [
{
"locationsToAdd": [
"gid://shopify/Location/415211365"
],
"zonesToCreate": [
{
"name": "USA Zone",
"countries": {
"code": "US",
"provinces": [
{
"code": "CO"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
},
{
"name": "Mexico Zone",
"countries": {
"code": "MX",
"provinces": [
{
"code": "MOR"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
}
]
}
]
}
},
},
);
const data = await response.json();
Ruby
session = ShopifyAPI::Auth::Session.new(
shop: "your-development-store.myshopify.com",
access_token: access_token
)
client = ShopifyAPI::Clients::Graphql::Admin.new(
session: session
)
query = <<~QUERY
mutation deliveryProfileUpdate($id: ID!, $profile: DeliveryProfileInput!) {
deliveryProfileUpdate(id: $id, profile: $profile) {
profile {
id
name
profileLocationGroups {
locationGroup {
id
locations(first: 5) {
nodes {
name
address {
country
}
}
}
}
locationGroupZones(first: 2) {
edges {
node {
zone {
id
name
countries {
code {
countryCode
}
provinces {
code
}
}
}
}
}
}
}
}
userErrors {
field
message
}
}
}
QUERY
variables = {
"id": "gid://shopify/DeliveryProfile/593363170",
"profile": {
"name": "Sample Updated Delivery Profile",
"locationGroupsToCreate": [
{
"locationsToAdd": [
"gid://shopify/Location/415211365"
],
"zonesToCreate": [
{
"name": "USA Zone",
"countries": {
"code": "US",
"provinces": [
{
"code": "CO"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
},
{
"name": "Mexico Zone",
"countries": {
"code": "MX",
"provinces": [
{
"code": "MOR"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
}
]
}
]
}
}
response = client.query(query: query, variables: variables)
Node.js
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `mutation deliveryProfileUpdate($id: ID!, $profile: DeliveryProfileInput!) {
deliveryProfileUpdate(id: $id, profile: $profile) {
profile {
id
name
profileLocationGroups {
locationGroup {
id
locations(first: 5) {
nodes {
name
address {
country
}
}
}
}
locationGroupZones(first: 2) {
edges {
node {
zone {
id
name
countries {
code {
countryCode
}
provinces {
code
}
}
}
}
}
}
}
}
userErrors {
field
message
}
}
}`,
"variables": {
"id": "gid://shopify/DeliveryProfile/593363170",
"profile": {
"name": "Sample Updated Delivery Profile",
"locationGroupsToCreate": [
{
"locationsToAdd": [
"gid://shopify/Location/415211365"
],
"zonesToCreate": [
{
"name": "USA Zone",
"countries": {
"code": "US",
"provinces": [
{
"code": "CO"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
},
{
"name": "Mexico Zone",
"countries": {
"code": "MX",
"provinces": [
{
"code": "MOR"
}
]
},
"methodDefinitionsToCreate": [
{
"name": "Standard",
"rateDefinition": {
"price": {
"amount": 1,
"currencyCode": "USD"
}
}
}
]
}
]
}
]
}
},
},
});
Response
{
"deliveryProfileUpdate": {
"profile": {
"id": "gid://shopify/DeliveryProfile/593363170",
"name": "Sample Updated Delivery Profile",
"profileLocationGroups": [
{
"locationGroup": {
"id": "gid://shopify/DeliveryLocationGroup/955592432",
"locations": {
"nodes": [
{
"name": "Ottawa Store",
"address": {
"country": "Canada"
}
},
{
"name": "Shipping Origin",
"address": {
"country": "Canada"
}
}
]
}
},
"locationGroupZones": {
"edges": [
{
"node": {
"zone": {
"id": "gid://shopify/DeliveryZone/161697132",
"name": "Canada",
"countries": [
{
"code": {
"countryCode": "CA"
},
"provinces": [
{
"code": "ON"
}
]
}
]
}
}
}
]
}
},
{
"locationGroup": {
"id": "gid://shopify/DeliveryLocationGroup/982182450",
"locations": {
"nodes": [
{
"name": "US Store",
"address": {
"country": "United States"
}
}
]
}
},
"locationGroupZones": {
"edges": [
{
"node": {
"zone": {
"id": "gid://shopify/DeliveryZone/1066475776",
"name": "Mexico Zone",
"countries": [
{
"code": {
"countryCode": "MX"
},
"provinces": [
{
"code": "MOR"
}
]
}
]
}
}
},
{
"node": {
"zone": {
"id": "gid://shopify/DeliveryZone/1066475775",
"name": "USA Zone",
"countries": [
{
"code": {
"countryCode": "US"
},
"provinces": [
{
"code": "CO"
}
]
}
]
}
}
}
]
}
}
]
},
"userErrors": []
}
}