     { statusCode, error, request } = response
     message = _.get error, "message"
     __makeRequest = () => @_makeRequest { statusCode, success: no, message, request }, options
-    __retryRequest = () => @fail(response, { async: true })
+    __retryRequest = () => @fail(response, { useAsyncApi: true })
     
     @_retryViaAsyncOrIgnore(__makeRequest, __retryRequest, options)
 

  success: (response, options) => 
    { statusCode } = response;
    __makeRequest = () => @_makeRequest { statusCode, success: yes }, options
    __retryRequest = () => @success(response, { async: true })
    
    @_retryViaAsyncOrIgnore(__makeRequest, __retryRequest, options)


  _retryViaAsyncOrIgnore: (makeRequest, retryRequest, options = {}) =>    
    retry(makeRequest, { throw_original: true, max_tries: 3 })
    .catch (e) =>
      throw e if options.useAsyncApi
      console.log("Error sending status to notifications-api. Retrying via notifications-api-async")
      retryRequest()
    .catchReturn()

  _makeRequest: (body, { useAsyncApi } = {}) =>
    url = if useAsyncApi then @notificationApiAsyncUrl else @notificationApiUrl
    requestPromise {
      url: "#{ url }/jobs/#{ @jobId }/operations"
      method: "POST"
