# Dive into the code

The developers' Reference section primarily consists of API references of the different core Umbraco APIs. In many cases, the references come with code snippets with examples.

The section also includes documentation about the different configuration options, security, advanced templating, and searching.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Configuration</strong></td><td>Most configuration in Umbraco CMS is handled via the <code>appSettings.json</code> file.</td><td><a href="configuration">configuration</a></td><td><a href="https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-35d43482ffd23f75ecaf7d98480e6b64418be390%2FDocumentations%20Icons_Umbraco_CMS_Reference_Configuration.png?alt=media">Documentations Icons_Umbraco_CMS_Reference_Configuration.png</a></td></tr><tr><td><strong>Templating</strong></td><td>Work with MVC views and Razor templates to build the frontend for your Umbraco CMS website.</td><td><a href="templating">templating</a></td><td><a href="https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-94df11bb19a8298aa0a8bde6fed48dc8fe9502ff%2FDocumentations%20Icons_Umbraco_CMS_Reference_Templating.png?alt=media">Documentations Icons_Umbraco_CMS_Reference_Templating.png</a></td></tr><tr><td><strong>Querying &#x26; Models</strong></td><td>Everything you need to extend your templates with filters, models, and more advanced queries.</td><td><a href="querying">querying</a></td><td><a href="https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-61b11658050545835b088a11aa14556286f27f4d%2FDocumentations%20Icons_Umbraco_CMS_Reference_Querying_and_Models.png?alt=media">Documentations Icons_Umbraco_CMS_Reference_Querying_and_Models.png</a></td></tr><tr><td><strong>Routing and Controllers</strong></td><td>Dive into working with routers and controllers for customizing your Umbraco CMS even further.</td><td><a href="routing">routing</a></td><td><a href="https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-8529aae789f4fa66c7280a478c7f60601ce1b40f%2FDocumentations%20Icons_Umbraco_CMS_Reference_Routing_and_Controllers.png?alt=media">Documentations Icons_Umbraco_CMS_Reference_Routing_and_Controllers.png</a></td></tr><tr><td><strong>Security</strong></td><td>Find everything you need related to keeping your Umbraco CMS website secure.</td><td><a href="security">security</a></td><td><a href="https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-a9bbebbbea0e853a660a43135b6027bb6a4b6822%2FDocumentations%20Icons_Umbraco_CMS_Reference_Security.png?alt=media">Documentations Icons_Umbraco_CMS_Reference_Security.png</a></td></tr><tr><td><strong>Searching</strong></td><td>Learn about Examine and Lucene which are tools utilized in Umbraco for the search functionality.</td><td><a href="searching">searching</a></td><td><a href="https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-36feaf257198335a3fd1df1f572a909f7dab7cfd%2FDocumentations%20Icons_Umbraco_CMS_Reference_Searching.png?alt=media">Documentations Icons_Umbraco_CMS_Reference_Searching.png</a></td></tr><tr><td><strong>Notifications</strong></td><td>Learn how to use notifications to hook into the workflow processes for the backoffice.</td><td><a href="notifications/notification-handler">notification-handler</a></td><td><a href="https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-5790d353ba3b10ed39fd0b249180ed2318c17ce1%2FDocumentations%20Icons_Umbraco_CMS_Reference_Notifications.png?alt=media">Documentations Icons_Umbraco_CMS_Reference_Notifications.png</a></td></tr><tr><td><strong>Caching</strong></td><td>Learn how to implement caching features in the Umbraco CMS application.</td><td><a href="cache">cache</a></td><td><a href="https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-41b02fe3c4aec3ca063548403a6d79bd5ab75c56%2FDocumentations%20Icons_Umbraco_CMS_Reference_Caching.png?alt=media">Documentations Icons_Umbraco_CMS_Reference_Caching.png</a></td></tr><tr><td><strong>API Documentation</strong></td><td>Dive into the deep end and start exploring the different sections of the Umbraco CMS API.</td><td><a href="api-documentation">api-documentation</a></td><td><a href="https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-7164d6542f9212e75cea5b8b88cc91f8d94e6f2a%2FDocumentations%20Icons_Umbraco_CMS_Reference_API_Documentation.png?alt=media">Documentations Icons_Umbraco_CMS_Reference_API_Documentation.png</a></td></tr></tbody></table>

## Also in this section

{% content-ref url="using-ioc" %}
[using-ioc](https://docs.umbraco.com/umbraco-cms/reference/using-ioc)
{% endcontent-ref %}

{% content-ref url="response-caching" %}
[response-caching](https://docs.umbraco.com/umbraco-cms/reference/response-caching)
{% endcontent-ref %}

{% content-ref url="plugins" %}
[plugins](https://docs.umbraco.com/umbraco-cms/reference/plugins)
{% endcontent-ref %}

{% content-ref url="common-pitfalls" %}
[common-pitfalls](https://docs.umbraco.com/umbraco-cms/reference/common-pitfalls)
{% endcontent-ref %}

{% content-ref url="debugging" %}
[debugging](https://docs.umbraco.com/umbraco-cms/reference/debugging)
{% endcontent-ref %}

{% content-ref url="language-variation" %}
[language-variation](https://docs.umbraco.com/umbraco-cms/reference/language-variation)
{% endcontent-ref %}


---

# 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/reference/dive-into-the-code.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.
