Site and List Structure Cheat Sheet
Remember the containment order: tenant → site collection → site (associated to a hub, or a subsite) → list or library → item or file. Site templates you'll encounter most: Team site (Microsoft 365 group-connected, for collaboration) and Communication site (broadcast-focused, no connected group by default). Every list and library supports views (filtered/sorted/grouped presentations of the same underlying data) and content types (reusable schemas bundling columns and templates) — knowing these two concepts covers most day-to-day structural questions.
Cricket analogy: It's like remembering the containment order of cricket administration: ICC (tenant) → national board (site collection) → domestic team (site) → fixtures list (list) → individual match scorecard (item).
Permission Levels Cheat Sheet
The default permission levels, from most to least access: Full Control (manage permissions, delete the site), Design (create lists/libraries, apply themes), Edit (add/edit/delete list items and documents), Contribute (add/edit items but not delete lists), Read (view only), and View Only (view without downloading, often paired with Information Rights Management). Custom permission levels can be composed from individual permissions (Add Items, Edit Items, Delete Items, Manage Lists, View Items) when the defaults don't fit — for example, a 'Submit Only' level that allows Add Items but not Edit or Delete, useful for a suggestion-box style list.
Cricket analogy: It's like the range from a team captain (Full Control, sets tactics and lineup) down to a spectator with a general-admission ticket (Read) — with a custom role like a scorer allowed to log deliveries but not change the lineup (custom permission level).
REST API and PnP PowerShell Quick Reference
The SharePoint REST API is rooted at /_api/web for the current site — common endpoints include _api/web/lists (all lists), _api/web/lists/getbytitle('ListName')/items (items in a list), and _api/web/currentuser (the calling user). For automation and admin scripting, PnP PowerShell is the standard toolkit: Connect-PnPOnline establishes the session, Get-PnPList / Add-PnPListItem handle list operations, and Get-PnPSiteCollectionAdmin / Add-PnPSiteCollectionAdmin manage site collection administrators. Both approaches respect the calling identity's permissions — neither bypasses SharePoint's permission model.
Cricket analogy: It's like knowing the standard scoring codes umpires use (REST endpoints as the universal query language) versus the specific tools a groundskeeper uses to prep a pitch (PnP PowerShell as the admin toolkit) — different jobs, same match.
# PnP PowerShell quick reference snippets
Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/marketing-hub" -Interactive
# List all lists on the current site
Get-PnPList
# Add an item to a list
Add-PnPListItem -List "Campaigns" -Values @{"Title"="Q3 Launch"; "Status"="Active"}
# Get all site collection administrators
Get-PnPSiteCollectionAdmin
# Grant a user Edit permission via a SharePoint group
Add-PnPUserToGroup -LoginName "user@contoso.com" -Identity "Marketing Hub Members"
# REST API equivalent: fetch active campaigns
# GET https://contoso.sharepoint.com/sites/marketing-hub/_api/web/lists/getbytitle('Campaigns')/items?$filter=Status eq 'Active'Quick rule of thumb for permission levels: Contribute can add and edit but not delete the list itself; Edit adds full item-level delete rights on top of Contribute. Reach for a custom level only when none of the six defaults match the exact need.
PnP PowerShell commands execute under the connected identity's actual permissions — running Add-PnPListItem with an account that lacks Contribute access on that list will fail with an access-denied error, not silently succeed. Always connect with the account you intend to test permission boundaries with.
- Containment order: tenant to site collection to site (hub or subsite) to list/library to item/file.
- Team sites are group-connected and collaboration-focused; communication sites are broadcast-focused.
- Six default permission levels range from Full Control down to View Only; custom levels compose individual permissions.
- REST API is rooted at /_api/web, with getbytitle() as the standard way to target a specific list.
- PnP PowerShell is the standard admin/automation toolkit: Connect-PnPOnline, Get-PnPList, Add-PnPListItem, and site admin cmdlets.
- Both REST API and PnP PowerShell operate under the calling identity's real permissions — neither bypasses SharePoint security.
- Views and content types are the two core concepts behind most day-to-day list and library structural questions.
Practice what you learned
1. What is the correct SharePoint containment order from top to bottom?
2. Which default permission level allows adding and editing items but not deleting the list itself?
3. What is the root REST API endpoint for the current SharePoint site?
4. What PnP PowerShell cmdlet is used to establish a connection to a SharePoint site before running other commands?
5. Do REST API calls and PnP PowerShell cmdlets bypass SharePoint's permission model?
Was this page helpful?
You May Also Like
SharePoint Best Practices
A practical guide to structuring, securing, and maintaining SharePoint Online sites so they stay fast, findable, and easy to govern as they grow.
SharePoint Interview Questions
Commonly asked SharePoint interview questions spanning core concepts, administration, and development, with the reasoning behind strong answers.
SharePoint vs Other Platforms
How SharePoint Online compares to Confluence, Google Workspace, and Box/Dropbox across collaboration, permissions, and enterprise integration.
Related Reading
Related Study Notes in Programming
Browse all study notesApache Spark Study Notes
Programming · 30 topics
ProgrammingApache Flink Study Notes
Programming · 30 topics
ProgrammingHadoop Study Notes
Programming · 30 topics
ProgrammingSnowflake Study Notes
Programming · 30 topics
ProgrammingApache Airflow Study Notes
Programming · 30 topics
Programmingdbt (Data Build Tool) Study Notes
Programming · 30 topics