As the title says, how can I Check- in & check-out files using client object model?

  • 1
    Hi! Can you please add a tag indicating the version of SharePoint? 2007, 2010 or 2013? Commented Dec 4, 2013 at 7:01
  • 2
    sharePoint version 2010
    – user21187
    Commented Dec 4, 2013 at 7:13

1 Answer 1


To check-out:

//get the connection
ClientContext ctx = new ClientContext("http://sitename");

//get the home page
File home = ctx.Web.GetFileByServerRelativeUrl("/SitePages/home.aspx");
//check whether file is already checkout. If not then only do the checkout. 
if (home.CheckOutType == CheckOutType.None)

To check-in:

//Only checkin if the file is already checkout. 
if (home.CheckOutType != CheckOutType.None)
   home.CheckIn(string.Empty, CheckinType.MajorCheckIn);
  • 1
    This doesn't seem to work on it's own. Do we have to call like ctx.Execute() or something afterwards? Commented Jul 14, 2016 at 22:20
  • 1
    Turns out the check-in is not performed until call ctx.ExecuteQuery(); -- further, if the file is not checked out, this will totally throw an exception when you call ctx.ExecuteQuery();. Commented Jul 15, 2016 at 0:56
  • Additionally the file.CheckOut() call will cause an exception to be thrown on the next ctx.ExecuteQuery(); if the file is already checked out to you. Commented Jul 15, 2016 at 1:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.