Why isn't this metafieldsSet mutation working? (Python, GraphQL)

I’m using the following mutation and it returns as if it works but the value isn’t actually being set to the customer. Any ideas what I’m doing wrong here would be appreciated.

"""
mutation {
    metafieldsSet(metafields:{
                key:"custom.cus_id",
                namespace:"custom.cus_id",
                ownerId:"%s",
                type: "single_line_text_field",
                value:"%s"}) {
        metafields {
            key
            ownerType
            value
            }
        userErrors{
            field
            message
            }    
        }
}
"""%(customerID, metafieldValue)

Okay, figured it out, here’s what you need to do if you want to update an existing metafield on a customer via GraphQL with python (or at least one way to do it):

"""
mutation {
    customerUpdate(input:{
                id:"%s",
                metafields: {
                id: "gid://shopify/Metafield/{metafield_id_number}"
                type: "single_line_text_field",
                value:"%s"}
                }){
        customer {
            id
            firstName
            }
        userErrors{
            field
            message
            }    
        }
}
"""%(customerID, metafieldvalue)

The really important part is the metafield id number. You don’t use a key or namespace when you’re updating, you need to grab that id instead and use it.