From - http://compiledexperience.com/blog/posts/patch-support-in-httpclient/
public static class HttpClientExtensions { public async static Task<HttpResponseMessage> PatchAsync(this HttpClient client, string requestUri, HttpContent content) { var method = new HttpMethod("PATCH"); var request = new HttpRequestMessage(method, requestUri) { Content = content }; return await client.SendAsync(request); } public async static Task<HttpResponseMessage> PatchAsync(this HttpClient client, Uri requestUri, HttpContent content) { var method = new HttpMethod("PATCH"); var request = new HttpRequestMessage(method, requestUri) { Content = content }; return await client.SendAsync(request); } public async static Task<HttpResponseMessage> PatchAsync(this HttpClient client, string requestUri, HttpContent content, CancellationToken cancellationToken) { var method = new HttpMethod("PATCH"); var request = new HttpRequestMessage(method, requestUri) { Content = content }; return await client.SendAsync(request, cancellationToken); } public async static Task<HttpResponseMessage> PatchAsync(this HttpClient client, Uri requestUri, HttpContent content, CancellationToken cancellationToken) { var method = new HttpMethod("PATCH"); var request = new HttpRequestMessage(method, requestUri) { Content = content }; return await client.SendAsync(request, cancellationToken); } }