type Query { # Returns a Customer resource by ID. customer(id: ID!): Customer } type Mutation { customerCreate(input: CustomerInput!): CustomerCreatePayload } input CustomerInput { # The addresses for a customer. addresses: [MailingAddressInput!] # The unique email address of the customer. email: String # The customer's first name. firstName: String # The ID of the customer to update. id: ID # The customer's last name. lastName: String # The customer's locale. locale: String # Additional metafields to associate to the customer. metafields: [MetafieldInput!] # A note about the customer. note: String # The unique phone number for the customer. phone: String # The private metafields to associate with the customer. privateMetafields: [PrivateMetafieldInput!] # A list of tags to associate with the customer. Can be an array or a comma-separated list. Example values: ["tag1", "tag2", "tag3"], "tag1, tag2, tag3" # # Updating tags overwrites any existing tags that were previously added to the customer. To add new tags without overwriting # existing tags, use the tagsAdd mutation. tags: [String!] } # Return type for customerCreate mutation. type CustomerCreatePayload { # The created customer. customer: Customer # The list of errors that occurred from executing the mutation. userErrors: [UserError!]! }