diff --git a/15/umbraco-cms/customizing/foundation/localization.md b/15/umbraco-cms/customizing/foundation/localization.md
index 62d263007df..1ee2c371830 100644
--- a/15/umbraco-cms/customizing/foundation/localization.md
+++ b/15/umbraco-cms/customizing/foundation/localization.md
@@ -41,7 +41,7 @@ The following example shows how you can display localized text with the `umb-loc
```
{% hint style="info" %}
-You can have a look and try out the element in the [UI API Docs](https://apidocs.umbraco.com/v14/ui/?path=/docs/api-localization-umblocalizeelement--docs).
+You can have a look and try out the element in the [UI API Documentation](https://apidocs.umbraco.com/v15/ui/?path=/docs/api-localization-umblocalizeelement--docs).
{% endhint %}
### **Localize Controller**
@@ -106,7 +106,7 @@ export default {
```
{% hint style="info" %}
-You can try out the arguments feature in the [UI API Docs](https://apidocs.umbraco.com/v14/ui/?path=/story/api-localization-umblocalizeelement--with-arguments).
+You can try out the arguments feature in the [UI API Documentation](https://apidocs.umbraco.com/v15/ui/?path=/story/api-localization-umblocalizeelement--with-arguments).
{% endhint %}
**Using the Localize Element**
diff --git a/15/umbraco-cms/customizing/ui-library.md b/15/umbraco-cms/customizing/ui-library.md
index 817046b01d1..cf7e245b2a3 100644
--- a/15/umbraco-cms/customizing/ui-library.md
+++ b/15/umbraco-cms/customizing/ui-library.md
@@ -16,7 +16,7 @@ With Umbraco 14 the Umbraco backoffice has been rebuilt using Web Components and
With the UI API, you get a set of collections related to modules export, interfaces, and hierarchy. This includes code examples and much more that you can use to extend the backoffice.
-
+
## UI Library Storybook
diff --git a/15/umbraco-cms/customizing/umbraco-package.md b/15/umbraco-cms/customizing/umbraco-package.md
index 1713dac110c..01b342c0dae 100644
--- a/15/umbraco-cms/customizing/umbraco-package.md
+++ b/15/umbraco-cms/customizing/umbraco-package.md
@@ -232,7 +232,7 @@ You may need to restart the application, if you add a new file or modify an exis
If the runtime mode is `Production`, the manifests are cached for 30 days or until the application is restarted to improve performance. In other runtime modes, the cache is cleared every 10 seconds.
{% hint style="info" %}
-You can implement the interface [IPackageManifestReader](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Infrastructure.Manifest.IPackageManifestReader.html) to provide your own package manifest reader. This can be useful if you want to load package manifests from a different location or source.
+You can implement the interface [IPackageManifestReader](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Infrastructure.Manifest.IPackageManifestReader.html) to provide your own package manifest reader. This can be useful if you want to load package manifests from a different location or source.
{% endhint %}
## Razor Class Library
diff --git a/15/umbraco-cms/extending/embedded-media-providers.md b/15/umbraco-cms/extending/embedded-media-providers.md
index 93932da7ac5..56e96f1025f 100644
--- a/15/umbraco-cms/extending/embedded-media-providers.md
+++ b/15/umbraco-cms/extending/embedded-media-providers.md
@@ -36,11 +36,11 @@ The list of available default Embed Providers in an Umbraco install is as follow
* Hulu
* Giphy
-You can see the details of these, and any recent editions in the C# developer reference for [Umbraco.Core.Media.EmbedProviders](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Media.EmbedProviders.html).
+You can see the details of these, and any recent editions in the C# developer reference for [Umbraco.Core.Media.EmbedProviders](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Media.EmbedProviders.html).
## Configuring a new provider
-Create a new provider by creating a C# class that implements the `IEmbedProvider` interface. Umbraco provides a convenient `OEmbedProviderBase` class as a starting point. You can read more about this class in the [Api documentation](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Media.EmbedProviders.OEmbedProviderBase.html?q=OEmbedProviderBase).
+Create a new provider by creating a C# class that implements the `IEmbedProvider` interface. Umbraco provides a convenient `OEmbedProviderBase` class as a starting point. You can read more about this class in the [Api documentation](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Media.EmbedProviders.OEmbedProviderBase.html?q=OEmbedProviderBase).
### Adding a new OEmbed Provider Example
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/block-grid-editor.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/block-grid-editor.md
index d07423c21d1..f98bea87d05 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/block-grid-editor.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/block-editor/block-grid-editor.md
@@ -544,6 +544,7 @@ All `contentData` and `layoutData` entries need their own unique `Udi` as well a
8. First and foremost, we need models to transform the raw data into Block Grid compatible JSON. Create a class called **Model.cs** containing the following:
{% code title="Models.cs" lineNumbers="true" %}
+
```csharp
using Umbraco.Cms.Core;
using System.Text.Json.Serialization;
@@ -626,11 +627,13 @@ public class BlockGridElementData
public Dictionary? Data { get; set;}
}
```
+
{% endcode %}
-9. By injecting [ContentService](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html) and [ContentTypeService](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentTypeService.html) into an API controller, we can transform the raw data into Block Grid JSON. It can then be saved to the target content item. Create a class called **BlockGridTestController.cs** containing the following:
+9. By injecting [ContentService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html) and [ContentTypeService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentTypeService.html) into an API controller, we can transform the raw data into Block Grid JSON. It can then be saved to the target content item. Create a class called **BlockGridTestController.cs** containing the following:
{% code title="BlockGridTestController.cs" lineNumbers="true" %}
+
```csharp
using Microsoft.AspNetCore.Mvc;
using My.Site.Models;
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/checkbox-list.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/checkbox-list.md
index b22dce873dc..5dbcaa4567c 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/checkbox-list.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/checkbox-list.md
@@ -58,7 +58,7 @@ You can use dictionary items to translate the options in a Checkbox List propert
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/color-picker.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/color-picker.md
index ab7d3952362..e8fe0c2e51b 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/color-picker.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/color-picker.md
@@ -53,7 +53,7 @@ It is possible to add a label to use with the color.
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/content-picker.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/content-picker.md
index d3391fcbcdd..59471e5a4c4 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/content-picker.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/content-picker.md
@@ -197,7 +197,7 @@ When opening the picker on the `Umbraco anno MMXXIII` node, it will now show the
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update the value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update the value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/date-time.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/date-time.md
index 5b8c9f1301a..542f749d1fe 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/date-time.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/date-time.md
@@ -36,7 +36,7 @@ The second setting is "Offset time". When enabling this setting the displayed ti
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/decimal.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/decimal.md
index 6ec67bf3ebb..01b97757c44 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/decimal.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/decimal.md
@@ -34,7 +34,7 @@ If the value of **Step Size** is not set then all decimal values between 8 and 1
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/document-picker.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/document-picker.md
index bed60ca14e6..5ca896f478d 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/document-picker.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/document-picker.md
@@ -50,7 +50,7 @@ The change was made as the word **Content** in the backoffice acts as an umbrell
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md
index 55fa03d5bf7..d071ea25950 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/dropdown/README.md
@@ -85,7 +85,7 @@ You can use dictionary items to translate the options in a Dropdown property edi
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/email-address.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/email-address.md
index f80483bb0b1..b73e361bacc 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/email-address.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/email-address.md
@@ -43,7 +43,7 @@ The Email Address Property Editor does not come with any further configuration.
## Add value programmatically
-See the example below to learn how a value can be added or changed programmatically to an Email-address property. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to learn how a value can be added or changed programmatically to an Email-address property. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/eye-dropper-color-picker.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/eye-dropper-color-picker.md
index 00ae579f0bf..9785ea5bc44 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/eye-dropper-color-picker.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/eye-dropper-color-picker.md
@@ -42,7 +42,7 @@ The Eye Dropper Color picker allows you to choose a color from the full color sp
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/file-upload.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/file-upload.md
index 96415ee9a25..f711bbb0ae7 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/file-upload.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/file-upload.md
@@ -60,7 +60,7 @@ The samples in this section have not been verified against the latest version of
Instead, we recommend using the [Media Picker](media-picker-3.md) for uploading files to your Umbraco website.
{% endhint %}
-See the example below to see how a value can be added or changed programmatically. To update a value of this property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html) and the [Media Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.MediaService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of this property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html) and the [Media Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.MediaService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/image-cropper.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/image-cropper.md
index 6479f1b7f63..0ac4b34e995 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/image-cropper.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/image-cropper.md
@@ -112,7 +112,7 @@ Set the `htmlEncode` to false so that the URL is not HTML encoded
## Add values programmatically
-To update a content property value you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+To update a content property value you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
The following sample demonstrates how to add or change the value of an Image Cropper property programmatically. The sample creates an API controller with an action, which must be invoked via a POST request to the URL written above the action.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/label.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/label.md
index 90ee3d8fdf3..1b911b4a9a8 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/label.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/label.md
@@ -45,7 +45,7 @@ There is also a Value Type: Long string if you need to set a long string value f
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/markdown-editor.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/markdown-editor.md
index e49dfc853cf..7ecc64f0a28 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/markdown-editor.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/markdown-editor.md
@@ -61,7 +61,7 @@ There are three settings available for manipulating the **Markdown editor** prop
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker-3.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker-3.md
index 5e3675c09e8..61c5efa6911 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker-3.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/media-picker-3.md
@@ -139,7 +139,7 @@ You can retrieve globally defined crops explicitly by using `GetCropUrl` on the
### Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
The following sample will update a single image in a Media Picker.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-group-picker.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-group-picker.md
index b252f9bb935..58e316b17e6 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-group-picker.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-group-picker.md
@@ -37,7 +37,7 @@ The Member Group Picker opens a panel to pick one or more member groups from the
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-picker.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-picker.md
index 2eb571dc669..bedf4a0f551 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-picker.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/member-picker.md
@@ -42,7 +42,7 @@ The member picker opens a panel to pick a specific member from the member sectio
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multi-url-picker.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multi-url-picker.md
index 8468cabf62d..122ead2dc91 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multi-url-picker.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multi-url-picker.md
@@ -49,7 +49,7 @@ If `Max number of items` is configured to `1`
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multiple-textbox.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multiple-textbox.md
index 132ea2f62d0..a05d49f77eb 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multiple-textbox.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/multiple-textbox.md
@@ -50,7 +50,7 @@ The Repeatable textstrings property editor enables a content editor to make a li
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/numeric.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/numeric.md
index 3858dcd6c72..16a3d471175 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/numeric.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/numeric.md
@@ -70,7 +70,7 @@ You can also render the output by casting it to a string, which means you will n
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/radiobutton-list.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/radiobutton-list.md
index b0045009a36..ebdaab91020 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/radiobutton-list.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/radiobutton-list.md
@@ -44,7 +44,7 @@ You can use dictionary items to translate the values of a Radiobutton List prope
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/rich-text-editor/README.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/rich-text-editor/README.md
index 2e0f8b16266..34b1892fbd8 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/rich-text-editor/README.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/rich-text-editor/README.md
@@ -64,7 +64,7 @@ Extend the functionality of the Rich Text Editor with extensions.
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/slider.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/slider.md
index 067248ad598..ce2411fa298 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/slider.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/slider.md
@@ -57,7 +57,7 @@ There are two flavors of the slider. One with a single value picker. One with a
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textarea.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textarea.md
index 483caf338e3..8c65e2e8b23 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textarea.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textarea.md
@@ -45,7 +45,7 @@ Textarea is an HTML textarea control for multiple lines of text. It can be confi
## Add value programmatically
-See the example below to learn how a value can be added or changed programmatically to a Textarea property. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to learn how a value can be added or changed programmatically to a Textarea property. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textbox.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textbox.md
index 74c0bb5a3da..72c8d0d28f0 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textbox.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/textbox.md
@@ -53,7 +53,7 @@ Textbox is an HTML input control for text. It can be configured to have a fixed
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/true-false.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/true-false.md
index 7aaf5288eab..36b39e32fba 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/true-false.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/true-false.md
@@ -42,7 +42,7 @@ It is also possible to define a label, that will be displayed next to the checkb
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/user-picker.md b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/user-picker.md
index 0d584fe9c79..c1f6e4764f0 100644
--- a/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/user-picker.md
+++ b/15/umbraco-cms/fundamentals/backoffice/property-editors/built-in-umbraco-property-editors/user-picker.md
@@ -58,7 +58,7 @@ Getting the Value of the property will return the user ID - properties of the Us
## Add values programmatically
-See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
+See the example below to see how a value can be added or changed programmatically. To update a value of a property editor you need the [Content Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html).
{% hint style="info" %}
The example below demonstrates how to add values programmatically using a Razor view. However, this is used for illustrative purposes only and is not the recommended method for production environments.
diff --git a/15/umbraco-cms/fundamentals/data/creating-media/README.md b/15/umbraco-cms/fundamentals/data/creating-media/README.md
index 533d8fcd141..0cf0dbdf0e0 100644
--- a/15/umbraco-cms/fundamentals/data/creating-media/README.md
+++ b/15/umbraco-cms/fundamentals/data/creating-media/README.md
@@ -212,4 +212,4 @@ Moving the focal point circle on the image will update the crops to focus accord
## Related Services
-* [MediaService](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.MediaService.html)
+* [MediaService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.MediaService.html)
diff --git a/15/umbraco-cms/fundamentals/data/data-types/README.md b/15/umbraco-cms/fundamentals/data/data-types/README.md
index 1f2a9c4ba36..f9ce2a8d302 100644
--- a/15/umbraco-cms/fundamentals/data/data-types/README.md
+++ b/15/umbraco-cms/fundamentals/data/data-types/README.md
@@ -64,6 +64,6 @@ Learn more about viewing references or implementing tracking in the [Tracking Re
### Related Services
-* [DataTypeService](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.IDataTypeService.html)
+* [DataTypeService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.IDataTypeService.html)
### Umbraco Learning Base Channel
diff --git a/15/umbraco-cms/fundamentals/data/defining-content/README.md b/15/umbraco-cms/fundamentals/data/defining-content/README.md
index eca4d108199..26ff4706a5f 100644
--- a/15/umbraco-cms/fundamentals/data/defining-content/README.md
+++ b/15/umbraco-cms/fundamentals/data/defining-content/README.md
@@ -306,8 +306,8 @@ To import a Document Type:
## Related Services
-* [ContentService](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentService.html)
-* [ContentTypeService](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ContentTypeService.html)
+* [ContentService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentService.html)
+* [ContentTypeService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ContentTypeService.html)
## Tutorials
diff --git a/15/umbraco-cms/fundamentals/data/dictionary-items.md b/15/umbraco-cms/fundamentals/data/dictionary-items.md
index 12490269c5e..40bb61cf389 100644
--- a/15/umbraco-cms/fundamentals/data/dictionary-items.md
+++ b/15/umbraco-cms/fundamentals/data/dictionary-items.md
@@ -131,6 +131,6 @@ To use Dictionary Items in a multilingual website, see the [Creating a Multiling
## Related Links
-* [API reference for the DictionaryItem](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Models.DictionaryItem.html)
-* [Localization Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.ILocalizationService.html)
+* [API reference for the DictionaryItem](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Models.DictionaryItem.html)
+* [Localization Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.ILocalizationService.html)
* [Creating a Multilingual Site](../../tutorials/multilanguage-setup.md)
diff --git a/15/umbraco-cms/fundamentals/data/members.md b/15/umbraco-cms/fundamentals/data/members.md
index 0a7536d3764..be68820eda1 100644
--- a/15/umbraco-cms/fundamentals/data/members.md
+++ b/15/umbraco-cms/fundamentals/data/members.md
@@ -114,6 +114,6 @@ You can find out more about the services methods in the reference section of the
### Related Services
-* [MemberService](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.MemberService.html)
-* [MemberType Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.MemberTypeService.html)
-* [MemberGroup Service](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.IMemberGroupService.html)
+* [MemberService](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.MemberService.html)
+* [MemberType Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.MemberTypeService.html)
+* [MemberGroup Service](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.IMemberGroupService.html)
diff --git a/15/umbraco-cms/implementation/data-persistence.md b/15/umbraco-cms/implementation/data-persistence.md
index 7e4a5c48a73..74a58e33456 100644
--- a/15/umbraco-cms/implementation/data-persistence.md
+++ b/15/umbraco-cms/implementation/data-persistence.md
@@ -30,4 +30,4 @@ All services are available using their interfaces in the dependency injection co
There is a service for each type of data in Umbraco.
-[See here For a full list of services available (external)](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.html)
+[See here For a full list of services available (external)](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.html)
diff --git a/15/umbraco-cms/implementation/default-routing/inbound-pipeline.md b/15/umbraco-cms/implementation/default-routing/inbound-pipeline.md
index 535700fa049..68a8e6d6b25 100644
--- a/15/umbraco-cms/implementation/default-routing/inbound-pipeline.md
+++ b/15/umbraco-cms/implementation/default-routing/inbound-pipeline.md
@@ -23,7 +23,7 @@ What it does:
## Published Content Request Instance
-When finding published content the [PublishedRouter](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Routing.PublishedRouter.html) will first check if the [PublishedRequestBuilder](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Routing.PublishedRequestBuilder.html) already has content, if it doesn't the content finders will kick in. For more information, see the [Find published content](../../reference/routing/request-pipeline/published-content-request-preparation.md#find-published-content) section in the [Published Content Request Preparation](../../reference/routing/request-pipeline/published-content-request-preparation.md) article.
+When finding published content the [PublishedRouter](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Routing.PublishedRouter.html) will first check if the [PublishedRequestBuilder](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Routing.PublishedRequestBuilder.html) already has content, if it doesn't the content finders will kick in. For more information, see the [Find published content](../../reference/routing/request-pipeline/published-content-request-preparation.md#find-published-content) section in the [Published Content Request Preparation](../../reference/routing/request-pipeline/published-content-request-preparation.md) article.
This information is also used during the [Controller & Action selection](controller-selection.md) process.
diff --git a/15/umbraco-cms/reference/api-documentation.md b/15/umbraco-cms/reference/api-documentation.md
index a92caf8732e..7d1756ef5d8 100644
--- a/15/umbraco-cms/reference/api-documentation.md
+++ b/15/umbraco-cms/reference/api-documentation.md
@@ -10,13 +10,13 @@ A library of API Reference documentation is auto-generated from the comments wit
C# API references for the Umbraco Core, Infrastructure, Extensions and Web libraries.
-### [Umbraco.Cms.Core](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.html)
+### [Umbraco.Cms.Core](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.html)
-### [Umbraco.Cms.Infrastructure](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Infrastructure.html)
+### [Umbraco.Cms.Infrastructure](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Infrastructure.html)
-### [Umbraco.Cms.Web](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Web.Common.html)
+### [Umbraco.Cms.Web](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Web.Common.html)
-### [Umbraco.Extensions](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Extensions.html)
+### [Umbraco.Extensions](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Extensions.html)
{% hint style="info" %}
Opens a documentation browser that is different from the documentation section you're viewing now.
diff --git a/15/umbraco-cms/reference/management/README.md b/15/umbraco-cms/reference/management/README.md
index b27799417a7..2074d0254c4 100644
--- a/15/umbraco-cms/reference/management/README.md
+++ b/15/umbraco-cms/reference/management/README.md
@@ -12,11 +12,11 @@ The intended audience for these reference pages is .NET developers. It is assume
Since the release of Umbraco 14, the documentation for Models and Services has been removed from the documentation.
{% endhint %}
-## [Models (external)](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Models.html)
+## [Models (external)](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Models.html)
Find references for the models in the public API. The models include Content, ContentType, Language, Media, and Template classes.
-## [Services (external)](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Services.html)
+## [Services (external)](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.html)
Find references for the services available for performing Create, Read, Update, and Delete (CRUD) operations for the models.
diff --git a/15/umbraco-cms/reference/management/using-services/README.md b/15/umbraco-cms/reference/management/using-services/README.md
index 05f7837fbef..46ef6ee8094 100644
--- a/15/umbraco-cms/reference/management/using-services/README.md
+++ b/15/umbraco-cms/reference/management/using-services/README.md
@@ -6,7 +6,7 @@ description: List of service references along with instructions on how to use th
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/v14/csharp/api/Umbraco.Cms.Core.Services.html).
+You can find a list of all supported services in the [API Documentation](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Services.html).
## Getting a Service
diff --git a/15/umbraco-cms/reference/management/using-services/consentservice.md b/15/umbraco-cms/reference/management/using-services/consentservice.md
index 7aabe1d8756..d69f8a4d09b 100644
--- a/15/umbraco-cms/reference/management/using-services/consentservice.md
+++ b/15/umbraco-cms/reference/management/using-services/consentservice.md
@@ -12,7 +12,7 @@ Consent can be given or revoked or changed via the `RegisterConsent` method, whi
## Get the current state
-Getter methods of this service return the current state of a consent, that is the latest [IConsent](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Models.IConsent.html) entity that was created.
+Getter methods of this service return the current state of a consent, that is the latest [IConsent](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Models.IConsent.html) entity that was created.
## Revoking a consent
diff --git a/15/umbraco-cms/reference/management/using-services/localizationservice.md b/15/umbraco-cms/reference/management/using-services/localizationservice.md
index 0f80835ec77..0440a602b45 100644
--- a/15/umbraco-cms/reference/management/using-services/localizationservice.md
+++ b/15/umbraco-cms/reference/management/using-services/localizationservice.md
@@ -24,7 +24,7 @@ ILanguage language2 = _localizationService.GetLanguageByIsoCode("en-US");
The ISO code is a combination of the two-letter ISO 639-1 language code (lowercase) and two-letter ISO-3166 country code (uppercase). Eg. `en-US` for English in the United States, `en-GB` for English in the United Kingdom and `da-DK` for Danish in Denmark.
-Both methods will return an instance of the [ILanguage](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Models.ILanguage.html) interface, which has traditional properties like `Id` and `Key`, but also properties specific to the language like `CultureName`, `CultureInfo` and `IsoCode`. You can see the API reference for further information on the properties of the interface.
+Both methods will return an instance of the [ILanguage](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Models.ILanguage.html) interface, which has traditional properties like `Id` and `Key`, but also properties specific to the language like `CultureName`, `CultureInfo` and `IsoCode`. You can see the API reference for further information on the properties of the interface.
## Getting all languages
diff --git a/15/umbraco-cms/reference/notifications/README.md b/15/umbraco-cms/reference/notifications/README.md
index 37ba61fde04..78951335e56 100644
--- a/15/umbraco-cms/reference/notifications/README.md
+++ b/15/umbraco-cms/reference/notifications/README.md
@@ -22,7 +22,7 @@ Check the [Notification Handler](notification-handler.md) article to learn more
Below you can find a list of most used object notifications.
-You can find a list of all supported notifications in the [API Docs](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.html).
+You can find a list of all supported notifications in the [API Documentation](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.html).
### Content, Media, and Member notifications
@@ -34,30 +34,30 @@ The ContentService class is the most commonly used type when extending Umbraco u
Below you can find a list of the most common ContentService object notifications.
-* [ContentSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavingNotification.html)
-* [ContentSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavedNotification.html)
-* [ContentPublishingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentPublishingNotification.html)
-* [ContentPublishedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentPublishedNotification.html)
-* [ContentUnpublishingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentUnpublishingNotification.html)
-* [ContentUnpublishedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentUnpublishedNotification.html)
-* [ContentCopyingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentCopyingNotification.html)
-* [ContentCopiedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentCopiedNotification.html)
-* [ContentMovingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovingNotification.html)
-* [ContentMovedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovedNotification.html)
-* [ContentMovingToRecycleBinNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovingToRecycleBinNotification.html)
-* [ContentMovedToRecycleBinNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovedToRecycleBinNotification.html)
-* [ContentDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletingNotification.html)
-* [ContentDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedNotification.html)
-* [ContentDeletingVersionsNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletingVersionsNotification.html)
-* [ContentDeletedVersionsNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedVersionsNotification.html)
-* [ContentRollingBackNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentRollingBackNotification.html)
-* [ContentRolledBackNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentRolledBackNotification.html)
-* [ContentSendingToPublishNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentSendingToPublishNotification.html)
-* [ContentSentToPublishNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentSentToPublishNotification.html)
-* [ContentEmptyingRecycleBinNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentEmptyingRecycleBinNotification.html)
-* [ContentEmptiedRecycleBinNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentEmptiedRecycleBinNotification.html)
-* [ContentSavedBlueprintNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavedBlueprintNotification.html)
-* [ContentDeletedBlueprintNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedBlueprintNotification.html)
+* [ContentSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavingNotification.html)
+* [ContentSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavedNotification.html)
+* [ContentPublishingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentPublishingNotification.html)
+* [ContentPublishedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentPublishedNotification.html)
+* [ContentUnpublishingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentUnpublishingNotification.html)
+* [ContentUnpublishedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentUnpublishedNotification.html)
+* [ContentCopyingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentCopyingNotification.html)
+* [ContentCopiedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentCopiedNotification.html)
+* [ContentMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovingNotification.html)
+* [ContentMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovedNotification.html)
+* [ContentMovingToRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovingToRecycleBinNotification.html)
+* [ContentMovedToRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentMovedToRecycleBinNotification.html)
+* [ContentDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletingNotification.html)
+* [ContentDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedNotification.html)
+* [ContentDeletingVersionsNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletingVersionsNotification.html)
+* [ContentDeletedVersionsNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedVersionsNotification.html)
+* [ContentRollingBackNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentRollingBackNotification.html)
+* [ContentRolledBackNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentRolledBackNotification.html)
+* [ContentSendingToPublishNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentSendingToPublishNotification.html)
+* [ContentSentToPublishNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentSentToPublishNotification.html)
+* [ContentEmptyingRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentEmptyingRecycleBinNotification.html)
+* [ContentEmptiedRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentEmptiedRecycleBinNotification.html)
+* [ContentSavedBlueprintNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentSavedBlueprintNotification.html)
+* [ContentDeletedBlueprintNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentDeletedBlueprintNotification.html)
@@ -67,16 +67,16 @@ Below you can find a list of the most common ContentService object notifications
Below you can find a list of the most common MediaService object notifications.
-* [MediaSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaSavingNotification.html)
-* [MediaSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaSavedNotification.html)
-* [MediaMovingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovingNotification.html)
-* [MediaMovedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovedNotification.html)
-* [MediaMovingToRecycleBinNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovingToRecycleBinNotification.html)
-* [MediaMovedToRecycleBinNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovedToRecycleBinNotification.html)
-* [MediaDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletingNotification.html)
-* [MediaDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletedNotification.html)
-* [MediaDeletingVersionsNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletingVersionsNotification.html)
-* [MediaDeletedVersionsNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletedVersionsNotification.html)
+* [MediaSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaSavingNotification.html)
+* [MediaSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaSavedNotification.html)
+* [MediaMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovingNotification.html)
+* [MediaMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovedNotification.html)
+* [MediaMovingToRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovingToRecycleBinNotification.html)
+* [MediaMovedToRecycleBinNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaMovedToRecycleBinNotification.html)
+* [MediaDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletingNotification.html)
+* [MediaDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletedNotification.html)
+* [MediaDeletingVersionsNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletingVersionsNotification.html)
+* [MediaDeletedVersionsNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaDeletedVersionsNotification.html)
@@ -88,12 +88,12 @@ The MemberService implements IMemberService and provides access to operations in
Below you can find a list of the most common MemberService object notifications.
-* [MemberSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberSavingNotification.html)
-* [MemberSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberSavedNotification.html)
-* [MemberDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberDeletingNotification.html)
-* [MemberDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberDeletedNotification.html)
-* [AssignedMemberRolesNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.AssignedMemberRolesNotification.html)
-* [RemovedMemberRolesNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.RemovedMemberRolesNotification.html)
+* [MemberSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberSavingNotification.html)
+* [MemberSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberSavedNotification.html)
+* [MemberDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberDeletingNotification.html)
+* [MemberDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberDeletedNotification.html)
+* [AssignedMemberRolesNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.AssignedMemberRolesNotification.html)
+* [RemovedMemberRolesNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RemovedMemberRolesNotification.html)
@@ -107,13 +107,13 @@ The ContentTypeService class implements IContentTypeService. It provides access
Below you can find a list of the most common ContentTypeService object notifications.
-* [ContentTypeSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeSavingNotification.html)
-* [ContentTypeSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeSavedNotification.html)
-* [ContentTypeDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeDeletingNotification.html)
-* [ContentTypeDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeDeletedNotification.html)
-* [ContentTypeMovingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeMovingNotification.html)
-* [ContentTypeMovedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeMovedNotification.html)
-* [ContentTypeChangedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeChangedNotification.html)
+* [ContentTypeSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeSavingNotification.html)
+* [ContentTypeSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeSavedNotification.html)
+* [ContentTypeDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeDeletingNotification.html)
+* [ContentTypeDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeDeletedNotification.html)
+* [ContentTypeMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeMovingNotification.html)
+* [ContentTypeMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeMovedNotification.html)
+* [ContentTypeChangedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentTypeChangedNotification.html)
@@ -125,13 +125,13 @@ The MediaTypeService class implements IMediaTypeService. It provides access to o
Below you can find a list of the most common MediaTypeService object notifications.
-* [MediaTypeSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeSavingNotification.html)
-* [MediaTypeSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeSavedNotification.html)
-* [MediaTypeDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeDeletingNotification.html)
-* [MediaTypeDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeDeletedNotification.html)
-* [MediaTypeMovingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeMovingNotification.html)
-* [MediaTypeMovedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeMovedNotification.html)
-* [MediaTypeChangedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeChangedNotification.html)
+* [MediaTypeSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeSavingNotification.html)
+* [MediaTypeSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeSavedNotification.html)
+* [MediaTypeDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeDeletingNotification.html)
+* [MediaTypeDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeDeletedNotification.html)
+* [MediaTypeMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeMovingNotification.html)
+* [MediaTypeMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeMovedNotification.html)
+* [MediaTypeChangedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaTypeChangedNotification.html)
@@ -143,13 +143,13 @@ The MemberTypeService class implements IMemberTypeService. It provides access to
Below you can find a list of the most common MemberTypeService object notifications.
-* [MemberTypeSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeSavingNotification.html)
-* [MemberTypeSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeSavedNotification.html)
-* [MemberTypeDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeDeletingNotification.html)
-* [MemberTypeDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeDeletedNotification.html)
-* [MemberTypeMovingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeMovingNotification.html)
-* [MemberTypeMovedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeMovedNotification.html)
-* [MemberTypeChangedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeChangedNotification.html)
+* [MemberTypeSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeSavingNotification.html)
+* [MemberTypeSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeSavedNotification.html)
+* [MemberTypeDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeDeletingNotification.html)
+* [MemberTypeDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeDeletedNotification.html)
+* [MemberTypeMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeMovingNotification.html)
+* [MemberTypeMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeMovedNotification.html)
+* [MemberTypeChangedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberTypeChangedNotification.html)
@@ -161,12 +161,12 @@ The DataTypeService class implements IDataTypeService. It provides access to ope
Below you can find a list of the most common DataTypeService object notifications.
-* [DataTypeSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeSavingNotification.html)
-* [DataTypeSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeSavedNotification.html)
-* [DataTypeDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeDeletingNotification.html)
-* [DataTypeDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeDeletedNotification.html)
-* [DataTypeMovingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeMovingNotification.html)
-* [DataTypeMovedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeMovedNotification.html)
+* [DataTypeSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeSavingNotification.html)
+* [DataTypeSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeSavedNotification.html)
+* [DataTypeDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeDeletingNotification.html)
+* [DataTypeDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeDeletedNotification.html)
+* [DataTypeMovingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeMovingNotification.html)
+* [DataTypeMovedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DataTypeMovedNotification.html)
@@ -178,18 +178,18 @@ The FileService class implements IFileService. It provides access to operations
Below you can find a list of the most common FileService object notifications.
-* [TemplateSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.TemplateSavingNotification.html)
-* [TemplateSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.TemplateSavedNotification.html)
-* [ScriptSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ScriptSavingNotification.html)
-* [ScriptSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ScriptSavedNotification.html)
-* [StylesheetSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetSavingNotification.html)
-* [StylesheetSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetSavedNotification.html)
-* [TemplateDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.TemplateDeletingNotification.html)
-* [TemplateDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.TemplateDeletedNotification.html)
-* [ScriptDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ScriptDeletingNotification.html)
-* [ScriptDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ScriptDeletedNotification.html)
-* [StylesheetDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetDeletingNotification.html)
-* [StylesheetDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetDeletedNotification.html)
+* [TemplateSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.TemplateSavingNotification.html)
+* [TemplateSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.TemplateSavedNotification.html)
+* [ScriptSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ScriptSavingNotification.html)
+* [ScriptSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ScriptSavedNotification.html)
+* [StylesheetSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetSavingNotification.html)
+* [StylesheetSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetSavedNotification.html)
+* [TemplateDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.TemplateDeletingNotification.html)
+* [TemplateDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.TemplateDeletedNotification.html)
+* [ScriptDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ScriptDeletingNotification.html)
+* [ScriptDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ScriptDeletedNotification.html)
+* [StylesheetDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetDeletingNotification.html)
+* [StylesheetDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.StylesheetDeletedNotification.html)
@@ -201,14 +201,14 @@ The LocalizationService class implements ILocalizationService. It provides acces
Below you can find a list of the most common LocalizationService object notifications.
-* [LanguageSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.LanguageSavingNotification.html)
-* [LanguageSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.LanguageSavedNotification.html)
-* [DictionaryItemSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemSavingNotification.html)
-* [DictionaryItemSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemSavedNotification.html)
-* [LanguageDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.LanguageDeletingNotification.html)
-* [LanguageDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.LanguageDeletedNotification.html)
-* [DictionaryItemDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemDeletingNotification.html)
-* [DictionaryItemDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemDeletedNotification.html)
+* [LanguageSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.LanguageSavingNotification.html)
+* [LanguageSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.LanguageSavedNotification.html)
+* [DictionaryItemSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemSavingNotification.html)
+* [DictionaryItemSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemSavedNotification.html)
+* [LanguageDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.LanguageDeletingNotification.html)
+* [LanguageDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.LanguageDeletedNotification.html)
+* [DictionaryItemDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemDeletingNotification.html)
+* [DictionaryItemDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.DictionaryItemDeletedNotification.html)
@@ -218,10 +218,10 @@ Below you can find a list of the most common LocalizationService object notifica
Below you can find a list of the most common CacheRefresher object notifications.
-* [ContentCacheRefresherNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.ContentCacheRefresherNotification.html)
-* [MediaCacheRefresherNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MediaCacheRefresherNotification.html)
-* [MemberCacheRefresherNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.MemberCacheRefresherNotification.html)
-* [UserCacheRefresherNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.UserCacheRefresherNotification.html)
+* [ContentCacheRefresherNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.ContentCacheRefresherNotification.html)
+* [MediaCacheRefresherNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MediaCacheRefresherNotification.html)
+* [MemberCacheRefresherNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.MemberCacheRefresherNotification.html)
+* [UserCacheRefresherNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.UserCacheRefresherNotification.html)
@@ -233,14 +233,14 @@ Below you can find a list of the most common RelationService object notification
The RelationService provides access to operations involving IRelation and IRelationType, and publishes the following relation notifications:
-* [RelationSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.RelationSavingNotification.html)
-* [RelationSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.RelationSavedNotification.html)
-* [RelationDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.RelationDeletingNotification.html)
-* [RelationDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.RelationDeletedNotification.html)
-* [RelationTypeSavingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeSavingNotification.html)
-* [RelationTypeSavedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeSavedNotification.html)
-* [RelationTypeDeletingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeDeletingNotification.html)
-* [RelationTypeDeletedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeDeletedNotification.html)
+* [RelationSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationSavingNotification.html)
+* [RelationSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationSavedNotification.html)
+* [RelationDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationDeletingNotification.html)
+* [RelationDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationDeletedNotification.html)
+* [RelationTypeSavingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeSavingNotification.html)
+* [RelationTypeSavedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeSavedNotification.html)
+* [RelationTypeDeletingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeDeletingNotification.html)
+* [RelationTypeDeletedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.RelationTypeDeletedNotification.html)
@@ -252,10 +252,10 @@ Represents an Umbraco application lifetime (starting, started, stopping, stopped
Below you can find a list of the most common UmbracoApplicationLifetime object notifications.
-* [UmbracoApplicationStartingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStartingNotification.html)
-* [UmbracoApplicationStartedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStartedNotification.html)
-* [UmbracoApplicationStoppingNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStoppingNotification.html)
-* [UmbracoApplicationStoppedNotification](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStoppedNotification.html)
+* [UmbracoApplicationStartingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStartingNotification.html)
+* [UmbracoApplicationStartedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStartedNotification.html)
+* [UmbracoApplicationStoppingNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStoppingNotification.html)
+* [UmbracoApplicationStoppedNotification](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Notifications.UmbracoApplicationStoppedNotification.html)
diff --git a/15/umbraco-cms/reference/querying/imembermanager.md b/15/umbraco-cms/reference/querying/imembermanager.md
index ede7fe5fcdf..87e384d581b 100644
--- a/15/umbraco-cms/reference/querying/imembermanager.md
+++ b/15/umbraco-cms/reference/querying/imembermanager.md
@@ -7,7 +7,7 @@ description: "Using the IMemberManager"
`IMemberManager` has a variety of methods that are useful for managing members in controllers and views. In this article, we'll have a look at how some of these can be used.
{% hint style="info" %}
-For the full list of methods, see the [IMemberManager Interface API Documentation](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.Security.IMemberManager.html#methods).
+For the full list of methods, see the [IMemberManager Interface API Documentation](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.Security.IMemberManager.html#methods).
{% endhint %}
## How to reference IMemberManager
diff --git a/15/umbraco-cms/reference/querying/udi-identifiers.md b/15/umbraco-cms/reference/querying/udi-identifiers.md
index 749055325ba..458ffe48a91 100644
--- a/15/umbraco-cms/reference/querying/udi-identifiers.md
+++ b/15/umbraco-cms/reference/querying/udi-identifiers.md
@@ -26,8 +26,8 @@ There are 2 types of UDIs:
## GUID UDI
-* [API Reference](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.GuidUdi.html)
+* [API Reference](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.GuidUdi.html)
## String UDI
-* [API Reference](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Core.StringUdi.html)
+* [API Reference](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Core.StringUdi.html)
diff --git a/15/umbraco-cms/reference/security/backofficeusermanager-and-notifications.md b/15/umbraco-cms/reference/security/backofficeusermanager-and-notifications.md
index 953c61b87f9..76953930612 100644
--- a/15/umbraco-cms/reference/security/backofficeusermanager-and-notifications.md
+++ b/15/umbraco-cms/reference/security/backofficeusermanager-and-notifications.md
@@ -69,7 +69,7 @@ Note the constructor minimum needs to inject what is required for the base `Back
## Notifications
-There are [many notifications](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Web.Common.Security.BackOfficeUserManager.html) you can handle on the `BackOfficeUserManager`.
+There are [many notifications](https://apidocs.umbraco.com/v15/csharp/api/Umbraco.Cms.Web.Common.Security.BackOfficeUserManager.html) you can handle on the `BackOfficeUserManager`.
Internally these are mainly used for auditing but there are some that allow you to customize some workflows:
diff --git a/15/umbraco-cms/reference/security/two-factor-authentication.md b/15/umbraco-cms/reference/security/two-factor-authentication.md
index 51de4483832..a6d6dbabfe8 100644
--- a/15/umbraco-cms/reference/security/two-factor-authentication.md
+++ b/15/umbraco-cms/reference/security/two-factor-authentication.md
@@ -204,6 +204,7 @@ Umbraco controls how the UI is for user login and user edits, but will still nee
In the following example, we will use the [GoogleAuthenticator NuGet Package](https://www.nuget.org/packages/GoogleAuthenticator/). Despite the name, this package works for both Google and Microsoft authenticator apps. It can be used to generate the QR code needed to activate the app for the website.
{% code title="TwoFactorAuthInfo.cs" lineNumbers="true" %}
+
```csharp
using System.Runtime.Serialization;
using Google.Authenticator;
@@ -288,6 +289,7 @@ public class UmbracoUserAppAuthenticator : ITwoFactorProvider
public bool ValidateTwoFactorSetup(string secret, string token) => ValidateTwoFactorPIN(secret, token);
}
```
+
{% endcode %}
First, we create a model with the information required to set up the 2FA provider. Then we implement the `ITwoFactorProvider` with the use of the `TwoFactorAuthenticator` from the GoogleAuthenticator NuGet package.
@@ -295,6 +297,7 @@ First, we create a model with the information required to set up the 2FA provide
Now we need to register the `UmbracoUserAppAuthenticator` implementation and the view to show to set up this provider. This can be done on the `IUmbracoBuilder` in your startup or a composer.
{% code title="UmbracoAppAuthenticatorComposer.cs" lineNumbers="true" %}
+
```csharp
using Umbraco.Cms.Core.Composing;
using Umbraco.Cms.Core.Security;
@@ -311,11 +314,13 @@ public class UmbracoAppAuthenticatorComposer : IComposer
}
}
```
+
{% endcode %}
The last thing required is to register the provider in the Backoffice client so that the user can enable it. This can be done in a `umbraco-package.json` file.
-{% code title="~/App_Plugins/TwoFactorProviders/umbraco-package.json" lineNumbers="true" %}
+{% code title="~/App_Plugins/TwoFactorProviders/umbraco-package.json" lineNumbers="true" %
+}
```json
{
"$schema": "../../umbraco-package-schema.json",
@@ -334,6 +339,7 @@ The last thing required is to register the provider in the Backoffice client so
]
}
```
+
{% endcode %}
At this point, the 2FA is active, but no users have set up 2FA yet.
@@ -399,6 +405,7 @@ The 2FA activation screen can be customized. This should be done if you have a 2
To customize the 2FA activation screen, you need to create a JavaScript module. The module should export a default custom element to be used in the activation screen. This module should be placed in the `App_Plugins/TwoFactorProviders` folder.
{% code title="~/App_Plugins/TwoFactorProviders/2fa-activation.js" lineNumbers="true" %}
+
```javascript
import { UserService } from '@umbraco-cms/backoffice/external/backend-api';
import { css, html } from '@umbraco-cms/backoffice/external/lit';
@@ -606,6 +613,7 @@ export default class My2faActivationElement extends UmbLitElement {
customElements.define('my-2fa-activation', My2faActivationElement);
```
+
{% endcode %}
This module will show a QR code and an input field for the user to enter the code from the authenticator app. When the user submits the form, the code will be sent to the server to validate. If the code is correct, the provider will be enabled.
@@ -613,6 +621,7 @@ This module will show a QR code and an input field for the user to enter the cod
To replace the default activation screen with the custom view, you need to register the element in the `umbraco-package.json` file that you created before. The final form of the file should look like this:
{% code title="~/App_Plugins/TwoFactorProviders/umbraco-package.json" lineNumbers="true" %}
+
```json
{
"$schema": "../../umbraco-package-schema.json",
@@ -632,6 +641,7 @@ To replace the default activation screen with the custom view, you need to regis
]
}
```
+
{% endcode %}
### Customizing the login screen
@@ -642,7 +652,7 @@ You should only customize the 2FA login screen in certain cases, for example:
* If you have a provider that requires a non-numeric field or additional info.
* If you have a provider that requires the user to scan a QR code, you should additionally show the QR code.
-* If you need to authenticate the user in a different way than the default [AuthenticationController](https://apidocs.umbraco.com/v14/csharp/api/Umbraco.Cms.Web.BackOffice.Controllers.AuthenticationController.html#Umbraco\_Cms\_Web\_BackOffice\_Controllers\_AuthenticationController\_PostVerify2FACode\_Verify2FACodeModel\_) in Umbraco.
+* If you need to authenticate the user in a different way than the default option.
You need to create a JavaScript module that exports a default custom element to be used in the login screen. This module should be placed in the `App_Plugins` folder. The module should be registered using a composer.