GraphQL Mutations

Modifying data with mutations

Basic Mutation

mutation {
    createUser(name: "John", email: "[email protected]") {
        id
        name
    }
} # create new user

Mutation with Variables

mutation CreateUser($name: String!, $email: String!) {
    createUser(name: $name, email: $email) {
        id
        name
        email
    }
}
# Variables: { "name": "John", "email": "[email protected]" }

Update Mutation

mutation {
    updateUser(id: 1, name: "Jane") {
        id
        name
    }
} # update existing user

Delete Mutation

mutation {
    deleteUser(id: 1) {
        success
        message
    }
} # delete user

Multiple Mutations

mutation {
    first: createUser(name: "John") {
        id
    }
    second: createUser(name: "Jane") {
        id
    }
} # execute in sequence

Input Types

mutation CreateUser($input: CreateUserInput!) {
    createUser(input: $input) {
        id
        name
    }
}
# Variables: { "input": { "name": "John", "email": "[email protected]" } }