I have a library where I want anybody to be able to add items to it, but only a select few can edit them or delete them. The unpriviledged folk currently have "Read" permissions on the library, and that says that they can "Add items - Add items to lists and add documents to document libraries", but when they go to submit it says that the submittal failed and that the library may be read-only.

I set one of the users to contribute access, and he was able to submit just fine. However, Contribute allows users to edit item, delete items, and delete versions too. I do not want the general public to be able to do this.

It seems that "Add Items" permission does not do as advertised. Is there something that I am missing?

  • Dear this wont work for document library as every time you would add any item you need to go through edit page and that would lead to your item as checked out always..::(
    – user11364
    Oct 16, 2012 at 2:45
  • In this case I suggest to create a workflow with SharePoint Designer that sets the Permissions (Impersonation Step) after an item in a document library or document set is created
    – lex
    Sep 10, 2014 at 15:41

3 Answers 3


You can create own permission level and assigne it to the user. You can find list of permissions here.

  • Has anybody tested this, because I tried and it did not work for me in SharePoint Online 2013.
    – Hell.Bent
    Jun 11, 2013 at 15:29
  • And this is why you don't provide any info other than links... One is broken and now this answer is useless without fixing.
    – Vagari
    Apr 19, 2021 at 15:31

Accessing the Permission Levels can only be edited from the root of a site collection.

Once there, go to site actions -> Site Permissions, and click on 'Permission Levels' on the upper right of the ribbon options. From there you can create a new permission level


So there is a user or a group of users you wish to grant upload document and read permissions on a document library. As per the best practice here is how you should do it.

4 steps to achieve this:-

1) As mentioned earlier by Alexander , you need to create your custom permission level.

Go to Site Actions > Site Permissions > Permissions Level > Add a Permission Level

Name it "Generic Add Items" Next select Add Item permission , Open Items , Open Versions and leave the rest of permission levels checked as it is by default.

Sometimes, you may additionally need to check "View layout and application pages" permission.

2) Determine if a custom SharePoint Group needs to be created or not.
If you are planning to give this permission up to 20 users , you can create a SharePoint group and add them in that group. Naming convention of the group may vary but it should resemble their roles as per the document library or the site.
Give read permission to that group at a site level.

More than 20 to 30 users should have a Distributed Lists in Exchange and AD instead of creating SharePoint groups.

3) Stop Permissions Inheritance
GO to the library > Click on the TAB named Library on the ribbon. > Permissions for this Library > Stop Inheriting Permissions

It always recommended to use unique permissions for lists and libraries.

4) Grant unique permissions directly. On the same page as above , go to grant permissions > select the user or SHAREPOINT group that you need to give permission to. Scroll down way to the bottom of the page and you will find your newly created permission level "Generic Add Item" appear there. Select that permission level and save the form.

Test again. It should work.

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.