def post(params = {})
      params = Utils.symbolize_hash_keys(params)
      query_params = { _actions: false, _links: true, _embedded: true }
      headers = {}
      body = nil

      raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
      raise ArgumentError.new("applicationKey is required") unless params.has_key?(:applicationKey)

      body = params[:applicationKey] if params.has_key?(:applicationKey)
      headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
      query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
      query_params[:_links] = params[:_links] if params.has_key?(:_links)
      query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)

      path = "/applications/#{params[:applicationId]}/keys"

      @client.request(
        method: :post,
        path: path,
        query: query_params,
        headers: headers,
        body: body)
    end
def post(params = {})
      params = Utils.symbolize_hash_keys(params)
      query_params = { _actions: false, _links: true, _embedded: true }
      headers = {}
      body = nil

      raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
      raise ArgumentError.new("applicationKey is required") unless params.has_key?(:applicationKey)

      body = params[:applicationKey] if params.has_key?(:applicationKey)
      headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
      query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
      query_params[:_links] = params[:_links] if params.has_key?(:_links)
      query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)

      path = "/applications/#{params[:applicationId]}/keys"

      @client.request(
        method: :post,
        path: path,
        query: query_params,
        headers: headers,
        body: body)
    end
Create a new applicationKey for an application

 Authentication:
 The client must be configured with a valid api
 access token to call this action. The token
 must include at least one of the following scopes:
 all.Application, all.Organization, all.User, applicationKeys.*, or applicationKeys.post.

 Parameters:
 *  {string} applicationId - ID associated with the application
 *  {hash} applicationKey - ApplicationKey information (https://api.losant.com/#/definitions/applicationKeyPost)
 *  {string} losantdomain - Domain scope of request (rarely needed)
 *  {boolean} _actions - Return resource actions in response
 *  {boolean} _links - Return resource link in response
 *  {boolean} _embedded - Return embedded resources in response

 Responses:
 *  201 - Successfully created applicationKey (https://api.losant.com/#/definitions/applicationKeyPostResponse)

 Errors:
 *  400 - Error if malformed request (https://api.losant.com/#/definitions/error)
 *  404 - Error if application was not found (https://api.losant.com/#/definitions/error)