Requires write_customers access scope. Also: User needs customers permission.

Delete a customer. As of API version 2022-10, apps using protected customer data must meet the protected customer data requirements.


Specifies the customer to delete.


Was this section helpful?

The ID of the deleted customer.

The shop of the deleted customer.

The list of errors that occurred from executing the mutation.


Was this section helpful?

Examples

Hide code
Copy
mutation customerDelete($id: ID!) {
  customerDelete(input: {id: $id}) {
    shop {
      id
    }
    userErrors {
      field
      message
    }
    deletedCustomerId
  }
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2024-01/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation customerDelete($id: ID!) { customerDelete(input: {id: $id}) { shop { id } userErrors { field message } deletedCustomerId } }",
 "variables": {
    "id": "gid://shopify/Customer/105906728"
  }
}'
const { admin } = await authenticate.admin(request);

const response = await admin.graphql(
  `#graphql
  mutation customerDelete($id: ID!) {
    customerDelete(input: {id: $id}) {
      shop {
        id
      }
      userErrors {
        field
        message
      }
      deletedCustomerId
    }
  }`,
  {
    variables: {
      "id": "gid://shopify/Customer/105906728"
    },
  },
);

const data = await response.json();
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 customerDelete($id: ID!) {
    customerDelete(input: {id: $id}) {
      shop {
        id
      }
      userErrors {
        field
        message
      }
      deletedCustomerId
    }
  }
QUERY

variables = {
  "id": "gid://shopify/Customer/105906728"
}

response = client.query(query: query, variables: variables)
const client = new shopify.clients.Graphql({session});
const data = await client.query({
  data: {
    "query": `mutation customerDelete($id: ID!) {
      customerDelete(input: {id: $id}) {
        shop {
          id
        }
        userErrors {
          field
          message
        }
        deletedCustomerId
      }
    }`,
    "variables": {
      "id": "gid://shopify/Customer/105906728"
    },
  },
});
use Shopify\Clients\Graphql;

$client = new Graphql("your-development-store.myshopify.com", $accessToken);
$query = <<<QUERY
  mutation customerDelete($id: ID!) {
    customerDelete(input: {id: $id}) {
      shop {
        id
      }
      userErrors {
        field
        message
      }
      deletedCustomerId
    }
  }
QUERY;

$variables = [
  "id" => "gid://shopify/Customer/105906728",
];

$response = $client->query(["query" => $query, "variables" => $variables]);
Hide code
Input variables
Copy
{
  "id": "gid://shopify/Customer/105906728"
}
Hide code
Response
JSON
{
  "customerDelete": {
    "shop": {
      "id": "gid://shopify/Shop/26371970"
    },
    "userErrors": [],
    "deletedCustomerId": "gid://shopify/Customer/105906728"
  }
}