Cesivi Server - API Coverage¶
Home > Documentation > Reference > API Coverage
Last Updated: 2026-02-16 MASTERPLAN: v46.0 Overall Coverage: 99%+ (weighted) | Production-Ready across all API surfaces
See Also: Complete API Feature Matrix - Detailed feature breakdown by API
Executive Summary¶
Cesivi Server provides production-ready compatibility with SharePoint Server Subscription Edition across all major API surfaces: SOAP, REST, CSOM, and PowerShell.
Coverage by API Surface¶
| API | Services/Endpoints | Methods/Operations | Coverage | Status |
|---|---|---|---|---|
| SOAP | 26 services | 150+ methods | 100% core | Production-Ready |
| REST | 94 controllers | 796+ routes | 99%+ | Production-Ready |
| CSOM | ProcessQuery + 15 object models | ~381+ operations | ~98% | Production-Ready |
| PowerShell (CS*) | 26 categories | 171 cmdlets | Module v3.0.0 | Production-Ready |
Build & Test Quality¶
| Metric | Value | Status |
|---|---|---|
| Build Errors | 0 | Clean |
| Build Warnings | 0 | Clean |
| Server.Tests | 2,419/2,419 (100%) | net10.0, in-process |
| Storage.Tests | 216/216 (100%) | net10.0, provider parity |
| RestSoap | 486/487 (99.8%) | net481, HTTP integration |
| CSOM | 580/585 (100%) | net481, protocol tests |
| PnP | 196/273 (~88%) | net481, SharePointPnPPowerShell2019 v3.29 |
| Total | ~3,691/~3,717 | ~99% |
Note: Test counts have +/-5-15 variance between runs due to architectural factors (HTTP timing, CSOM state accumulation). CSOM and PnP suites experience host process crashes in full-suite runs; tests pass individually.
Key Capabilities¶
- Search Engine: Full KQL parser, Lucene-based indexing, security trimming, refinements, suggestions
- Content Indexing: Automatic on create/update/delete, binary extraction (DOCX/XLSX/PPTX/PDF)
- Kenaflow Workflows: Production validated (12/13 tests, STATEMACHINE, state transitions, CAML)
- PowerShell Module: 171 CS* cmdlets across 26 categories (Cesivi.PowerShell v3.0.0)
- Storage Providers: FileSystem, InMemory, SQLite, LiteDB, SQL Server, PostgreSQL, MySQL
- Permission System: Full ACL support with AD users/groups, SharePoint groups, role inheritance
- Authentication: NTLM, Basic, Bearer/OAuth 2.0, Forms
SOAP Web Services (26 Services)¶
Base Path: /_vti_bin/*.asmx
Protocol: SOAP 1.1/1.2
Fully Implemented Services (19)¶
Production-ready with complete operations, data persistence, and error handling.
| # | Service | Endpoint | Key Methods | Status |
|---|---|---|---|---|
| 1 | Lists | lists.asmx |
GetListCollection, GetList, GetListItems (CAML), UpdateListItems (batch), AddList, DeleteList, AddAttachment, CheckIn/Out, +12 more | Full |
| 2 | UserGroup | usergroup.asmx |
GetUserCollectionFromSite, AddGroup, AddUserToGroup, GetRolesAndPermissionsForSite, +11 more | Full |
| 3 | Webs | webs.asmx |
GetWebCollection, GetWeb, WebUrlFromPageUrl, CreateContentType, GetAllSubWebCollection, +5 more | Full |
| 4 | Copy | copy.asmx |
CopyIntoItems, CopyIntoItemsLocal, GetItem | Full |
| 5 | Permissions | permissions.asmx |
GetPermissionCollection, AddPermission, RemovePermission, BreakRoleInheritance, +4 more | Full |
| 6 | Views | views.asmx |
GetViewCollection, GetView, AddView, UpdateView, DeleteView, UpdateViewHtml, +2 more | Full |
| 7 | Versions | versions.asmx |
GetVersions, DeleteVersion, DeleteAllVersions, RestoreVersion, GetVersionCollection | Full |
| 8 | SiteData | sitedata.asmx |
GetSite, GetWeb, GetList, GetListItems, EnumerateFolder, GetChanges, +4 more | Full |
| 9 | Taxonomy | taxonomyinternalservice.asmx |
GetTermStores, GetTermSets, GetTerms, GetChildTermsInTermSet, AddTerm, +7 more | Full |
| 10 | Search | search.asmx |
Query, QueryEx, GetPortalSearchInfo | Full |
| 11 | People | people.asmx |
SearchPrincipals, ResolvePrincipals, GetUserInfo, +3 more | Full |
| 12 | UserProfileService | userprofileservice.asmx |
GetUserProfileByName, ModifyUserPropertyByAccountName, GetCommonManager, +12 more | Full |
| 13 | Alerts | alerts.asmx |
GetAlerts, AddAlert, UpdateAlert, DeleteAlerts (full CRUD) | Full |
| 14 | DWS | dws.asmx |
CreateDws, DeleteDws, GetDwsData, GetDwsMetaData, +1 more | Full |
| 15 | Meetings | meetings.asmx |
CreateWorkspace, DeleteWorkspace, GetMeetingWorkspaces, +5 more | Full |
| 16 | WebPartPages | webpartpages.asmx |
GetWebPartPage, GetWebPartProperties | Full |
| 17 | Workflow | workflow.asmx |
GetWorkflowDataForItem, StartWorkflow | Full |
| 18 | SocialData | socialdataservice.asmx |
GetAllTagTerms, GetAllTagUrls | Full |
| 19 | Authentication | authentication.asmx |
Login, Mode | Full |
Minimal/Stub Services (6)¶
Compatibility endpoints returning static or minimal responses. Sufficient for client library compatibility.
| # | Service | Endpoint | Methods | Notes |
|---|---|---|---|---|
| 20 | Imaging | imaging.asmx |
6 | Static/compatibility responses |
| 21 | Forms | forms.asmx |
2 | Static/compatibility responses |
| 22 | Publishing | publishedlinksservice.asmx |
1 | Static/compatibility responses |
| 23 | Sites | sites.asmx |
1 | Site template enumeration |
| 24 | Diagnostics | diagnostics.asmx |
1 | Diagnostic logging |
| 25 | Admin | admin.asmx |
3 | Cesivi Administration |
These 6 services provide minimal/static responses sufficient for client library compatibility.
Note: AreaService (areaservice.asmx) and ChangeLog (changelog.asmx) were previously documented but have no controller implementations. Change tracking is provided via REST and CSOM APIs.
REST API (15+ Endpoint Groups, 150+ Routes)¶
Base Path: /_api
Protocol: HTTP/HTTPS with JSON
OData Version: v3 with v4 error format
Architecture: SharePointApiController (11 partial classes) + 4 dedicated controllers
Endpoint Groups¶
| Group | Endpoints | Key Operations | Status |
|---|---|---|---|
| Web & Site | 6+ | Web metadata, subwebs, current user, site info | Full |
| Lists | 19+ | CRUD, OData queries, changes, ensure assets library | Full |
| Files | 16+ | Upload, download, checkout/checkin, publish, approve, copy, recycle | Full |
| Folders | 9+ | CRUD, subfolders, move, copy, recycle | Full |
| Search | 3 | Query (GET/POST), PostQuery, Suggest | Full (KQL engine) |
| Users & Groups | 12+ | CRUD, ensure user, group members | Full |
| Content Types | 8+ | CRUD, field management, inheritance | Full |
| Fields (Site Columns) | 6+ | CRUD, all 31 field types | Full |
| Permissions | 6+ | Role assignments, inheritance break/reset | Full |
| Recycle Bin | 4+ | Get, restore, permanent delete | Full |
| Webhooks | 5 | CRUD, persistence-backed | Full |
| Workflow | 13+ | Definitions, subscriptions, instances lifecycle | Full |
| User Profiles | 5+ | Properties, get/set single/multi-value | Full |
| Event Receivers | 6+ | CRUD, list-scoped receivers | Full |
| Custom Actions | 6 | CRUD, clear | Full |
| Regional Settings | 5 | Settings, time zones | Full |
| Change Tracking | 2 | Web/list changes | Full |
| Attachments | 4 | CRUD on list item attachments | Full |
| Taxonomy v2.1 | 4+ | TermStore, groups, sets, terms (wired to storage) | Full |
| Context Info | 1 | Form digest and request context | Full |
| Navigation | 2 | Quick launch, top nav | Full |
| Features | 4 | Web/site features, activate/deactivate | Full |
| Batch | 1 | $batch multipart operations |
Full |
| Utility | 6+ | SP.Utilities.Utility methods, URL getters | Full |
OData Support: $select, $filter, $orderby, $top, $skip, $expand (including nested query options)
CSOM (Client-Side Object Model) — ~98% Coverage¶
Endpoint: /_vti_bin/client.svc/ProcessQuery
Protocol: XML request, JSON response
Operations: ~381+ implemented across 15+ object models
Test Results: ~508/518 (~98%)
Implemented Object Models¶
| Object Model | Operations | Coverage | Key Capabilities |
|---|---|---|---|
| SP.Web | 15+ | Full | CRUD, navigation, properties, features |
| SP.List | 20+ | Full | CRUD, CAML, permissions, content types |
| SP.ListItem | 15+ | Full | CRUD, field values, attachments, permissions |
| SP.File | 15+ | Full | Upload, download, checkout/checkin, publish, versions |
| SP.Folder | 8+ | Full | CRUD, move, copy, properties |
| SP.Field | 10+ | Full | CRUD, all field types, schema XML |
| SP.ContentType | 8+ | Full | CRUD, inheritance, field links |
| SP.View | 7+ | Full | CRUD, CAML, field selection |
| SP.User/Group | 12+ | Full | CRUD, membership, permissions |
| SP.RoleAssignment | 6+ | Full | CRUD, role definitions |
| SP.Search | 5+ | Full | Query, suggest, schema |
| SP.Taxonomy | 15+ | Full | Term stores, sets, terms, hierarchy |
| SP.UserProfile | 5+ | Full | Properties, get/set |
| SP.Workflow | 10+ | Full | Definitions, subscriptions, instances |
| SP.RecycleBin | 5+ | Full | Get, restore, delete |
Advanced CSOM Features¶
- Batch processing (multiple operations per request)
- Dependency tracking between operations
- Property loading with
Include()and selective loading - Object identity resolution
- Error handling with SharePoint error codes
Known CSOM Limitations¶
- ~2% of operations have edge cases (advanced Include patterns with indexer notation)
- See KNOWN_LIMITATIONS.md for PnP client-side limitations
PowerShell Module — Cesivi.PowerShell v3.0.0¶
Module: Cesivi.PowerShell Version: 2.0.0 Cmdlets: 171 CS cmdlets across 26 categories Exported:* All 171 cmdlets in .psd1 manifest
Cmdlet Categories¶
| Category | Cmdlets | Key Operations |
|---|---|---|
| CSList | Get, New, Set, Remove | List CRUD |
| CSListItem | Get, New, Set, Remove, BatchNew, BatchSet | Item CRUD + batch |
| CSFile | Get, New, Remove, CheckOut, CheckIn, Publish, Unpublish, Approve, Deny | Full file lifecycle |
| CSFolder | Get, New, Remove, Set, Copy, Move | Folder CRUD + operations |
| CSField | Get, New, Set, Remove | Field CRUD |
| CSContentType | Get, New, Set, Remove | Content type CRUD |
| CSView | Get, New, Set, Remove | View CRUD |
| CSUser | Get, New, EnsureUser | User management |
| CSGroup | Get, New, Set, Remove, AddUser, RemoveUser | Group CRUD + membership |
| CSRoleDefinition | Get, New, Set, Remove | Permission levels |
| CSRoleAssignment | Get, New, Remove | Permission assignments |
| CSPermission | Test, Get (EffectivePermission, PermissionCollection), Set (Inheritance) | Permission checks |
| CSFileVersion | Get, Restore, Remove, History | Version management |
| CSRecycleBin | Get, Restore, Remove, Clear | Recycle bin operations |
| CSSearch | Query, Suggest, Schema | Search operations |
| CSTaxonomy | Get/New/Set/Remove (TermStore, TermGroup, TermSet, Term) | Managed metadata |
| CSUserProfile | Get, Set, Properties | User profile management |
| CSAlert | Get, New, Set, Remove | Alert CRUD |
| CSWebhook | Get, New, Set, Remove | Webhook CRUD |
| CSWorkflow | Get/New/Set/Remove (Definition, Subscription), Start/Stop/Resume (Instance) | Workflow lifecycle |
| CSNavigation | Get, New, Set, Remove | Navigation management |
| CSCustomAction | Get, New, Remove | Custom action management |
| CSEventReceiver | Get, New, Remove | Event receiver management |
| CSAdmin | Get (ServerHealth, ServerVersion, ServerInfo) | Server administration |
| CSSolution | Get, Add, Remove, Activate, Deactivate, Uninstall | Solution management |
| CSWeb | Get, Set | Web management |
PnP PowerShell Compatibility — ~88%¶
Framework: SharePointPnPPowerShell2019 v3.29 (net481) Test Results: 196/273 (~88% of non-skipped) Limitation: 27 failures + 50 skipped due to client-side PnP 3.x / CSOM protocol issues
Working PnP Categories¶
- Lists, Items, Fields, Content Types, Views
- Files (upload, download, metadata)
- Folders (CRUD, items)
- Users, Groups, Permissions
- Search, Taxonomy, User Profiles
- Webs, Site Collections
- Features (activate/deactivate)
PnP Client-Side Limitations (Cannot Fix Server-Side)¶
| Limitation | Tests | Root Cause |
|---|---|---|
| PnP 3.x Group Owner serialization | 9 | PnP Core SDK client-side serialization mismatch |
| Copy/Move URL validation | 7 | Client-side URL validation in PnP 3.x |
| Checkout parameter | 6 | Client-side NullReferenceException |
| Missing cmdlets/parameters | 6 | Not available in PnP 3.x |
| Remove-PnPFile | 2 | PnP Core SDK incompatibility |
| CSOM IsNull handling | 2 | Client doesn't throw on IsNull |
See KNOWN_LIMITATIONS.md for full details and workarounds.
Search Engine¶
Cesivi includes a complete search engine with the following capabilities:
- KQL Parser: Full Keyword Query Language support with property restrictions
- Indexing: Lucene-based inverted index with TF-IDF scoring
- Content Extraction: Binary content extraction from DOCX, XLSX, PPTX, PDF
- Security Trimming: Search results filtered by user permissions
- Refinements: Faceted search with configurable refiners
- Suggestions: Search suggestion API
- Automatic Indexing: Index updated on item create/update/delete
- Managed Properties: Configurable property mappings
Storage Providers¶
| Provider | Use Case | Query Push-Down | Status |
|---|---|---|---|
| FileSystem | Default, disk-based | SQLite sidecar index | Full (including MoveFolderAsync, CopyFolderAsync) |
| InMemory | Testing, ephemeral | ConcurrentDictionary scan | Full |
| SQLite | Lightweight database | WHERE/ORDER BY/LIMIT | Full |
| LiteDB | Embedded NoSQL | LINQ queries | Full |
| SQL Server | Enterprise | Full SQL push-down | Full |
| PostgreSQL | Open-source enterprise | Full SQL push-down | Full |
| MySQL | Open-source database | Full SQL push-down | Full |
All providers implement IStorageService with query-aware data access (MASTERPLAN v32.0).
Production Readiness Assessment¶
Quality Score: 9.5/10¶
| Criteria | Score | Evidence |
|---|---|---|
| SOAP Coverage | 9.5/10 | 26 services, 160+ methods, 20 fully implemented |
| REST Coverage | 9.5/10 | 94 controllers, 796+ routes, full OData |
| CSOM Coverage | 9.5/10 | ~98% operations (~508/~521 tests), 15+ object models |
| Build Quality | 10/10 | 0 errors, 0 warnings |
| Test Coverage | 9.5/10 | ~3,876 passing across 5 suites |
| PowerShell | 9.0/10 | 171 CS* cmdlets, module v2.0.0 |
| PnP Compatibility | 8.5/10 | ~88%, remaining 27 failures are client-side |
| Search | 9.0/10 | Full KQL, Lucene indexing, security trimming |
| Documentation | 8.5/10 | 25+ user guides, hierarchical dev knowledge |
Suitable For¶
- Development and testing environments
- CI/CD pipelines with SharePoint dependencies
- SharePoint API learning and training
- Integration testing of SharePoint-dependent applications
- Kenaflow workflow development and testing
- PnP PowerShell script development
- Migration tool development and testing
Not Suitable For¶
- Production SharePoint replacement (by design, this is a mock server)
- Enterprise service applications (Excel Services, Visio, Project Server)
- SharePoint Online-only features (Modern UI, Graph API, Teams)
Remaining Work (MASTERPLAN v46.0)¶
All core API implementation is complete. Current focus areas:
| Plan | Description | Status |
|---|---|---|
| PLAN-324 | Fix JsonExtensionRegistryService deadlock & code quality sweep | Planned |
| PLAN-325 | README.md & public documentation modernization | In Progress |
Last Updated: 2026-02-16 MASTERPLAN: v46.0