validate(get_json_schema :: (() -> any()), json :: any(), cache_key :: any()) :: :ok | {:error, any()}