# Server-Side Extensions

Server-side extensions give you direct control over the underlying .NET framework and Umbraco's internal services. Use these guides to build custom functionality at any layer of the stack.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Cache &#x26; Distributed Cache</strong></td><td>Implement application caching in single-server and load-balanced environments.</td><td><a href="/pages/WJ8n9ZZ31e6Erd9v7k30">/pages/WJ8n9ZZ31e6Erd9v7k30</a></td></tr><tr><td><strong>Custom Routing</strong></td><td>Configure custom routes and URL handling in Umbraco CMS.</td><td><a href="/pages/1mgeTAtYnYPfDV1J02c1">/pages/1mgeTAtYnYPfDV1J02c1</a></td></tr><tr><td><strong>Language Files &#x26; Localization</strong></td><td>Manage localization and language files for your Umbraco site.</td><td><a href="/pages/UbsRwWsZxNICV2Colzxo">/pages/UbsRwWsZxNICV2Colzxo</a></td></tr><tr><td><strong>Management</strong></td><td>Interact with Umbraco data through CRUD operations and the persistence layer.</td><td><a href="/pages/QDKo6c3fRU6FN33vSlWR">/pages/QDKo6c3fRU6FN33vSlWR</a></td></tr><tr><td><strong>Using Notifications</strong></td><td>Subscribe to and handle Umbraco notifications to react to content and application events.</td><td><a href="/pages/0rnSF7ChFP0fMqWknSXp">/pages/0rnSF7ChFP0fMqWknSXp</a></td></tr><tr><td><strong>Services and Helpers</strong></td><td>Access Umbraco data and functionality through the core services and helpers.</td><td><a href="/pages/1PsHaY9uI9ahZ6uyiNzr">/pages/1PsHaY9uI9ahZ6uyiNzr</a></td></tr></tbody></table>

## Additional Resources

* [API Documentation](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/api-documentation.md) - generate and browse API documentation for your Umbraco project.
* [API Versioning and OpenAPI](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/api-versioning-and-openapi.md) - version your APIs and configure OpenAPI documentation.
* [Backoffice Search](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/backoffice-search.md) - customise search in the Umbraco backoffice.
* [Content Type Filters](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/content-type-filters.md) - restrict the content types available to editors.
* [Creating a Custom Database Table](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/database.md) - add and manage custom database tables in Umbraco.
* [Custom File Systems](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/filesystemproviders.md) - create custom file systems using the IFileSystem interface.
* [Custom Swagger API](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/custom-swagger-api.md) - configure custom Swagger documents for your APIs.
* [Embedded Media Providers](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/embedded-media-providers.md) - add support for embedding media from external providers.
* [Flag Providers](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/flag-providers.md) - expose flag information in Management API responses.
* [JSON Serialization](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/json-serialization.md) - configure JSON serialization behavior in Umbraco.
* [Scheduling](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/scheduling.md) - run scheduled background tasks in Umbraco.
* [Server Events From SignalR](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/server-events.md) - push real-time server events to the browser using SignalR.
* [UmbracoMapper](/umbraco-cms/18.latest/extend-your-project/server-side-extensions/mapping.md) - map between objects using UmbracoMapper.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.umbraco.com/umbraco-cms/18.latest/extend-your-project/server-side-extensions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
