defmodule EasyPost.Report do @doc """ Create a `Report`. """ @spec create(String.t(), map) :: EasyPost.Operation.t() def create(type, params) do %EasyPost.Operation{ method: :post, params: params, path: "/reports/#{type}" } end @doc """ Get a `Report`. """ @spec get(String.t(), String.t()) :: EasyPost.Operation.t() def get(type, id) do %EasyPost.Operation{ method: :get, path: "/reports/#{type}/#{id}" } end @doc """ Retrieve a list of `Report`'s. """ @spec list(String.t(), map) :: EasyPost.Operation.t() def list(type, params \\ %{}) do %EasyPost.Operation{ method: :get, params: params, path: "/reports/#{type}" } end end