In fact, I just found it. Here is my code for initiating a job to upload to the server. sorry I don't have any download examples, we didn't need that part. I have removed some of the unecessary code to focus more on the bits part.
public void CreateAndLaunchUpload(string fullLocalFilePath, string remoteStorageDirectory, uint minimumRetryDelay)
var manager = new BitsManager();
var scanJob = manager.CreateJob(fullLocalFilePath, JobType.Upload);
scanJob.MinimumRetryDelay = minimumRetryDelay;
var localFilenameOnly = Path.GetFileName(fullLocalFilePath);
var fullRemotePath = Path.Combine(remoteStorageDirectory, localFilenameOnly);
// Add the success event so that we can clean up.
scanJob.OnJobTransferred += new EventHandler<NotificationEventArgs>(scanJob_OnJobTransferred);
void scanJob_OnJobTransferred(object sender, NotificationEventArgs e)