You need to use the real GitHub API:
HTTParty.post(
'https://api.github.com/repos/sclayton/puppet-modules/merges',
:basic_auth => auth,
:headers=>{'Content-Type' => "application/json"},
:body => {
"base" => "stage",
'head'=> "a593765fc0861e99b4c9538e75676c55be264f01"
}.to_json)
Note the significant difference in URLs. Unless you're using a GitHub Enterprise instance, your URL should always start with https://api.github.com/
. Of course this is only a guess because you didn't provide the response you were getting from GitHub.