As an FYI : this (and other) lines having the side effect that is will update the original hash that was passed in which is generally a bad practice, e.g:

```ruby
irb> def foo(x); post = x; post[:y] = 'modified'; end
=> :foo
irb> z = {:something => "else"}
=> {:something=>"else"}
irb> foo(z)
=> "modified"
irb> z
=> {:something=>"else", :y=>"modified"}
```
Just an FYI - when you refactor the approach to construct an API request derived from the passed in options you might end up fixing this anyway.