# Using Umbraco services

In this article you can learn how to use and work with some of the services provided with Umbraco CMS.

You can find a list of all supported services in the [API Documentation](https://apidocs.umbraco.com/v17/csharp/api/Umbraco.Cms.Core.Services.html).

## Getting a Service

All services can be accessed with the following using statement:

```csharp
using Umbraco.Cms.Core.Services;
```

In some cases, you can use [Dependency Injection](https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection). For example, if you have registered your class in Umbraco's dependency injection, you can specify the service interface in your constructor.

To use the `NotificationService` you can use Dependency Injection via the `INotificationService` interface like this:

```csharp
public class MyClass
{
    private INotificationService _notificationService;

 public MyClass(INotificationService notificationService)
 {
  _notificationService = notificationService;
 }
}
```

In Razor views, you can access the Notification Service through the `@inject` directive:

```csharp
@inject INotificationService NotificationService
```

Use the above example for other services by replacing the interface and the name of the service.

## Examples on using services

* [Consent Service](https://docs.umbraco.com/umbraco-cms/reference/management/using-services/consentservice)
* [User Service](https://docs.umbraco.com/umbraco-cms/reference/management/using-services/userservice)
* [Content Service](https://docs.umbraco.com/umbraco-cms/reference/management/using-services/contentservice)
* [Media Service](https://docs.umbraco.com/umbraco-cms/reference/management/using-services/mediaservice)
* [Relation Service](https://docs.umbraco.com/umbraco-cms/reference/management/using-services/relationservice)
* [Content Type Service](https://docs.umbraco.com/umbraco-cms/reference/management/using-services/contenttypeservice)
* [Localization Service](https://docs.umbraco.com/umbraco-cms/reference/management/using-services/localizationservice)


---

# 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/management/using-services.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.
