{"id":1891,"date":"2026-07-30T13:00:00","date_gmt":"2026-07-30T18:00:00","guid":{"rendered":"https:\/\/tolinku.com\/blog\/?p=1891"},"modified":"2026-03-07T03:50:18","modified_gmt":"2026-03-07T08:50:18","slug":"maui-deep-linking","status":"publish","type":"post","link":"https:\/\/tolinku.com\/blog\/maui-deep-linking\/","title":{"rendered":".NET MAUI Deep Linking: Implementation Guide"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">.NET MAUI (Multi-platform App UI) is the successor to Xamarin.Forms. It uses a single C# codebase for iOS, Android, macOS, and Windows, with platform-specific code isolated in the <code>Platforms\/<\/code> directory. Deep linking in MAUI follows the same native patterns (Universal Links on iOS, App Links on Android) but integrates with MAUI&#39;s Shell navigation and dependency injection.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For Xamarin.Forms (legacy), see <a href=\"https:\/\/tolinku.com\/blog\/xamarin-deep-linking\/\">Xamarin deep linking: cross-platform setup<\/a>. For the cross-platform overview, see <a href=\"https:\/\/tolinku.com\/blog\/cross-platform-deep-linking-guide\/\">cross-platform deep linking guide for 2026<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">iOS Configuration<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Associated Domains Entitlement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Create or update <code>Platforms\/iOS\/Entitlements.plist<\/code>:<\/p>\n\n\n\n<pre><code class=\"language-xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\n&lt;!DOCTYPE plist PUBLIC &quot;-\/\/Apple\/\/DTD PLIST 1.0\/\/EN&quot;\n  &quot;http:\/\/www.apple.com\/DTDs\/PropertyList-1.0.dtd&quot;&gt;\n&lt;plist version=&quot;1.0&quot;&gt;\n&lt;dict&gt;\n    &lt;key&gt;com.apple.developer.associated-domains&lt;\/key&gt;\n    &lt;array&gt;\n        &lt;string&gt;applinks:yourdomain.com&lt;\/string&gt;\n    &lt;\/array&gt;\n&lt;\/dict&gt;\n&lt;\/plist&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Reference it in your <code>.csproj<\/code>:<\/p>\n\n\n\n<pre><code class=\"language-xml\">&lt;PropertyGroup Condition=&quot;$([MSBuild]::GetTargetPlatformIdentifier(&#39;$(TargetFramework)&#39;)) == &#39;ios&#39;&quot;&gt;\n    &lt;CodesignEntitlements&gt;Platforms\/iOS\/Entitlements.plist&lt;\/CodesignEntitlements&gt;\n&lt;\/PropertyGroup&gt;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. AASA File<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Host at <code>https:\/\/yourdomain.com\/.well-known\/apple-app-site-association<\/code>:<\/p>\n\n\n\n<pre><code class=\"language-json\">{\n  &quot;applinks&quot;: {\n    &quot;details&quot;: [{\n      &quot;appIDs&quot;: [&quot;TEAMID.com.yourcompany.yourapp&quot;],\n      &quot;components&quot;: [\n        { &quot;\/&quot;: &quot;\/products\/*&quot; },\n        { &quot;\/&quot;: &quot;\/offers\/*&quot; },\n        { &quot;\/&quot;: &quot;\/referral\/*&quot; }\n      ]\n    }]\n  }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Get your Team ID from <a href=\"https:\/\/developer.apple.com\/account\/\" rel=\"nofollow noopener\" target=\"_blank\">Apple Developer account<\/a> under Membership Details.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Handle Universal Links<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In <code>Platforms\/iOS\/AppDelegate.cs<\/code>:<\/p>\n\n\n\n<pre><code class=\"language-csharp\">using Foundation;\nusing UIKit;\n\n[Register(&quot;AppDelegate&quot;)]\npublic class AppDelegate : MauiUIApplicationDelegate\n{\n    protected override MauiApp CreateMauiApp() =&gt; MauiProgram.CreateMauiApp();\n\n    [Export(&quot;application:continueUserActivity:restorationHandler:&quot;)]\n    public bool ContinueUserActivity(\n        UIApplication application,\n        NSUserActivity userActivity,\n        UIApplicationRestorationHandler completionHandler)\n    {\n        if (userActivity.ActivityType == NSUserActivityType.BrowsingWeb\n            &amp;&amp; userActivity.WebPageUrl != null)\n        {\n            var url = userActivity.WebPageUrl.ToString();\n            DeepLinkService.Instance.HandleUrl(url);\n            return true;\n        }\n        return false;\n    }\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Android Configuration<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Intent Filters<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In <code>Platforms\/Android\/AndroidManifest.xml<\/code>:<\/p>\n\n\n\n<pre><code class=\"language-xml\">&lt;activity\n    android:name=&quot;.MainActivity&quot;\n    android:exported=&quot;true&quot;&gt;\n\n    &lt;intent-filter android:autoVerify=&quot;true&quot;&gt;\n        &lt;action android:name=&quot;android.intent.action.VIEW&quot; \/&gt;\n        &lt;category android:name=&quot;android.intent.category.DEFAULT&quot; \/&gt;\n        &lt;category android:name=&quot;android.intent.category.BROWSABLE&quot; \/&gt;\n        &lt;data android:scheme=&quot;https&quot;\n              android:host=&quot;yourdomain.com&quot;\n              android:pathPrefix=&quot;\/products&quot; \/&gt;\n        &lt;data android:scheme=&quot;https&quot;\n              android:host=&quot;yourdomain.com&quot;\n              android:pathPrefix=&quot;\/offers&quot; \/&gt;\n        &lt;data android:scheme=&quot;https&quot;\n              android:host=&quot;yourdomain.com&quot;\n              android:pathPrefix=&quot;\/referral&quot; \/&gt;\n    &lt;\/intent-filter&gt;\n&lt;\/activity&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Or use the <code>IntentFilter<\/code> attribute on <code>MainActivity.cs<\/code>:<\/p>\n\n\n\n<pre><code class=\"language-csharp\">using Android.App;\nusing Android.Content;\nusing Android.Content.PM;\n\n[Activity(\n    Theme = &quot;@style\/Maui.SplashTheme&quot;,\n    MainLauncher = true,\n    Exported = true,\n    LaunchMode = LaunchMode.SingleTop)]\n[IntentFilter(\n    new[] { Intent.ActionView },\n    Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },\n    DataScheme = &quot;https&quot;,\n    DataHost = &quot;yourdomain.com&quot;,\n    DataPathPrefix = &quot;\/products&quot;,\n    AutoVerify = true)]\n[IntentFilter(\n    new[] { Intent.ActionView },\n    Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },\n    DataScheme = &quot;https&quot;,\n    DataHost = &quot;yourdomain.com&quot;,\n    DataPathPrefix = &quot;\/offers&quot;,\n    AutoVerify = true)]\n[IntentFilter(\n    new[] { Intent.ActionView },\n    Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },\n    DataScheme = &quot;https&quot;,\n    DataHost = &quot;yourdomain.com&quot;,\n    DataPathPrefix = &quot;\/referral&quot;,\n    AutoVerify = true)]\npublic class MainActivity : MauiAppCompatActivity\n{\n    protected override void OnCreate(Bundle savedInstanceState)\n    {\n        base.OnCreate(savedInstanceState);\n        HandleIntent(Intent);\n    }\n\n    protected override void OnNewIntent(Intent intent)\n    {\n        base.OnNewIntent(intent);\n        HandleIntent(intent);\n    }\n\n    private void HandleIntent(Intent intent)\n    {\n        if (intent?.Data != null)\n        {\n            DeepLinkService.Instance.HandleUrl(intent.Data.ToString());\n        }\n    }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. assetlinks.json<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Host at <code>https:\/\/yourdomain.com\/.well-known\/assetlinks.json<\/code>:<\/p>\n\n\n\n<pre><code class=\"language-json\">[\n  {\n    &quot;relation&quot;: [&quot;delegate_permission\/common.handle_all_urls&quot;],\n    &quot;target&quot;: {\n      &quot;namespace&quot;: &quot;android_app&quot;,\n      &quot;package_name&quot;: &quot;com.yourcompany.yourapp&quot;,\n      &quot;sha256_cert_fingerprints&quot;: [\n        &quot;YOUR_SIGNING_KEY_FINGERPRINT&quot;\n      ]\n    }\n  }\n]\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Shared Deep Link Service<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Create a service that both platforms call with the incoming URL:<\/p>\n\n\n\n<pre><code class=\"language-csharp\">\/\/ Services\/DeepLinkService.cs\n\npublic class DeepLinkService\n{\n    private static DeepLinkService _instance;\n    public static DeepLinkService Instance =&gt; _instance ??= new DeepLinkService();\n\n    private string _pendingUrl;\n    private bool _isReady;\n\n    public void HandleUrl(string urlString)\n    {\n        if (_isReady)\n        {\n            RouteUrl(urlString);\n        }\n        else\n        {\n            \/\/ App not fully initialized yet, queue the URL\n            _pendingUrl = urlString;\n        }\n    }\n\n    public void MarkReady()\n    {\n        _isReady = true;\n        if (!string.IsNullOrEmpty(_pendingUrl))\n        {\n            RouteUrl(_pendingUrl);\n            _pendingUrl = null;\n        }\n    }\n\n    private void RouteUrl(string urlString)\n    {\n        if (!Uri.TryCreate(urlString, UriKind.Absolute, out var uri))\n            return;\n\n        var path = uri.AbsolutePath.TrimEnd(&#39;\/&#39;);\n        var query = System.Web.HttpUtility.ParseQueryString(uri.Query);\n\n        MainThread.BeginInvokeOnMainThread(async () =&gt;\n        {\n            await NavigateFromDeepLink(path, query);\n        });\n    }\n\n    private async Task NavigateFromDeepLink(\n        string path,\n        System.Collections.Specialized.NameValueCollection query)\n    {\n        \/\/ Product page\n        var productMatch = System.Text.RegularExpressions.Regex.Match(\n            path, @&quot;^\/products\/([^\/]+)$&quot;);\n        if (productMatch.Success)\n        {\n            var productId = productMatch.Groups[1].Value;\n            await Shell.Current.GoToAsync(\n                $&quot;\/\/products\/detail?productId={productId}&quot;);\n            return;\n        }\n\n        \/\/ Offer page\n        var offerMatch = System.Text.RegularExpressions.Regex.Match(\n            path, @&quot;^\/offers\/([^\/]+)$&quot;);\n        if (offerMatch.Success)\n        {\n            var offerId = offerMatch.Groups[1].Value;\n            await Shell.Current.GoToAsync(\n                $&quot;\/\/offers\/detail?offerId={offerId}&quot;);\n            return;\n        }\n\n        \/\/ Referral\n        var referralMatch = System.Text.RegularExpressions.Regex.Match(\n            path, @&quot;^\/referral\/([^\/]+)$&quot;);\n        if (referralMatch.Success)\n        {\n            var referrerId = referralMatch.Groups[1].Value;\n            \/\/ Store referral, then navigate to home\n            Preferences.Set(&quot;referrer_id&quot;, referrerId);\n            await Shell.Current.GoToAsync(&quot;\/\/home&quot;);\n            return;\n        }\n\n        \/\/ Default\n        await Shell.Current.GoToAsync(&quot;\/\/home&quot;);\n    }\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Shell Navigation Setup<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Register routes in <code>AppShell.xaml.cs<\/code>:<\/p>\n\n\n\n<pre><code class=\"language-csharp\">public partial class AppShell : Shell\n{\n    public AppShell()\n    {\n        InitializeComponent();\n\n        \/\/ Register detail routes for deep linking\n        Routing.RegisterRoute(&quot;products\/detail&quot;, typeof(ProductDetailPage));\n        Routing.RegisterRoute(&quot;offers\/detail&quot;, typeof(OfferDetailPage));\n        Routing.RegisterRoute(&quot;referral&quot;, typeof(ReferralPage));\n    }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">AppShell.xaml<\/h3>\n\n\n\n<pre><code class=\"language-xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;\n&lt;Shell xmlns=&quot;http:\/\/schemas.microsoft.com\/dotnet\/2021\/maui&quot;\n       xmlns:x=&quot;http:\/\/schemas.microsoft.com\/winfx\/2009\/xaml&quot;\n       xmlns:pages=&quot;clr-namespace:YourApp.Pages&quot;\n       x:Class=&quot;YourApp.AppShell&quot;&gt;\n\n    &lt;TabBar&gt;\n        &lt;ShellContent Title=&quot;Home&quot;\n                      Route=&quot;home&quot;\n                      ContentTemplate=&quot;{DataTemplate pages:HomePage}&quot; \/&gt;\n        &lt;ShellContent Title=&quot;Products&quot;\n                      Route=&quot;products&quot;\n                      ContentTemplate=&quot;{DataTemplate pages:ProductsPage}&quot; \/&gt;\n        &lt;ShellContent Title=&quot;Offers&quot;\n                      Route=&quot;offers&quot;\n                      ContentTemplate=&quot;{DataTemplate pages:OffersPage}&quot; \/&gt;\n    &lt;\/TabBar&gt;\n&lt;\/Shell&gt;\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Query Parameter Handling<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use <code>QueryProperty<\/code> attributes to receive parameters on pages:<\/p>\n\n\n\n<pre><code class=\"language-csharp\">[QueryProperty(nameof(ProductId), &quot;productId&quot;)]\npublic partial class ProductDetailPage : ContentPage\n{\n    private string _productId;\n    public string ProductId\n    {\n        get =&gt; _productId;\n        set\n        {\n            _productId = value;\n            LoadProduct(value);\n        }\n    }\n\n    private async void LoadProduct(string productId)\n    {\n        if (string.IsNullOrEmpty(productId)) return;\n\n        try\n        {\n            var product = await ProductService.GetByIdAsync(productId);\n            BindingContext = product;\n        }\n        catch (Exception ex)\n        {\n            await DisplayAlert(&quot;Error&quot;, &quot;Could not load product&quot;, &quot;OK&quot;);\n            await Shell.Current.GoToAsync(&quot;..&quot;);\n        }\n    }\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">App Initialization<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Signal readiness after the app is fully initialized:<\/p>\n\n\n\n<pre><code class=\"language-csharp\">\/\/ App.xaml.cs\npublic partial class App : Application\n{\n    public App()\n    {\n        InitializeComponent();\n        MainPage = new AppShell();\n    }\n\n    protected override void OnStart()\n    {\n        base.OnStart();\n        \/\/ Signal that the app is ready to handle deep links\n        DeepLinkService.Instance.MarkReady();\n    }\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Dependency Injection Alternative<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of the singleton pattern, use MAUI&#39;s built-in DI:<\/p>\n\n\n\n<pre><code class=\"language-csharp\">\/\/ MauiProgram.cs\npublic static MauiApp CreateMauiApp()\n{\n    var builder = MauiApp.CreateBuilder();\n    builder\n        .UseMauiApp&lt;App&gt;()\n        .ConfigureFonts(fonts =&gt;\n        {\n            fonts.AddFont(&quot;OpenSans-Regular.ttf&quot;, &quot;OpenSansRegular&quot;);\n        });\n\n    \/\/ Register deep link service\n    builder.Services.AddSingleton&lt;IDeepLinkService, DeepLinkService&gt;();\n\n    return builder.Build();\n}\n<\/code><\/pre>\n\n\n\n<pre><code class=\"language-csharp\">\/\/ Interface\npublic interface IDeepLinkService\n{\n    void HandleUrl(string url);\n    void MarkReady();\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Inject it where needed:<\/p>\n\n\n\n<pre><code class=\"language-csharp\">public partial class App : Application\n{\n    private readonly IDeepLinkService _deepLinkService;\n\n    public App(IDeepLinkService deepLinkService)\n    {\n        InitializeComponent();\n        _deepLinkService = deepLinkService;\n        MainPage = new AppShell();\n    }\n\n    protected override void OnStart()\n    {\n        base.OnStart();\n        _deepLinkService.MarkReady();\n    }\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Testing<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">iOS Simulator<\/h3>\n\n\n\n<pre><code class=\"language-bash\">xcrun simctl openurl booted &quot;https:\/\/yourdomain.com\/products\/abc123&quot;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Android Emulator<\/h3>\n\n\n\n<pre><code class=\"language-bash\">adb shell am start -a android.intent.action.VIEW \\\n  -d &quot;https:\/\/yourdomain.com\/products\/abc123&quot; \\\n  -c android.intent.category.BROWSABLE\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Unit Testing the Router<\/h3>\n\n\n\n<pre><code class=\"language-csharp\">[TestFixture]\npublic class DeepLinkServiceTests\n{\n    [Test]\n    public void ParsesProductUrl()\n    {\n        var uri = new Uri(&quot;https:\/\/yourdomain.com\/products\/abc123&quot;);\n        var path = uri.AbsolutePath;\n\n        var match = Regex.Match(path, @&quot;^\/products\/([^\/]+)$&quot;);\n\n        Assert.IsTrue(match.Success);\n        Assert.AreEqual(&quot;abc123&quot;, match.Groups[1].Value);\n    }\n\n    [Test]\n    public void ParsesQueryParameters()\n    {\n        var uri = new Uri(&quot;https:\/\/yourdomain.com\/products\/abc123?ref=email&amp;campaign=summer&quot;);\n        var query = System.Web.HttpUtility.ParseQueryString(uri.Query);\n\n        Assert.AreEqual(&quot;email&quot;, query[&quot;ref&quot;]);\n        Assert.AreEqual(&quot;summer&quot;, query[&quot;campaign&quot;]);\n    }\n\n    [Test]\n    public void HandlesTrailingSlash()\n    {\n        var uri = new Uri(&quot;https:\/\/yourdomain.com\/products\/abc123\/&quot;);\n        var path = uri.AbsolutePath.TrimEnd(&#39;\/&#39;);\n\n        var match = Regex.Match(path, @&quot;^\/products\/([^\/]+)$&quot;);\n\n        Assert.IsTrue(match.Success);\n        Assert.AreEqual(&quot;abc123&quot;, match.Groups[1].Value);\n    }\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Tolinku for .NET MAUI Apps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/tolinku.com\/features\/deep-linking\">Tolinku<\/a> hosts AASA and assetlinks.json verification files. Configure your iOS Team ID, bundle identifier, Android package name, and SHA-256 fingerprints in the <a href=\"https:\/\/tolinku.com\/docs\/user-guide\/appspace-settings\/\">Appspace settings<\/a>, and Tolinku generates both files automatically. See the <a href=\"https:\/\/tolinku.com\/docs\/user-guide\/configuring-ios\/\">iOS configuration guide<\/a> and <a href=\"https:\/\/tolinku.com\/docs\/user-guide\/configuring-android\/\">Android configuration guide<\/a> for setup details.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the legacy Xamarin approach, see <a href=\"https:\/\/tolinku.com\/blog\/xamarin-deep-linking\/\">Xamarin deep linking: cross-platform setup<\/a>. For building from scratch, see <a href=\"https:\/\/tolinku.com\/blog\/implement-deep-links-from-scratch\/\">how to implement deep links from scratch<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Add deep linking to .NET MAUI applications. Configure platform handlers, routing, and cross-platform link resolution in C# apps.<\/p>\n","protected":false},"author":2,"featured_media":1890,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":".NET MAUI Deep Linking: Implementation Guide","rank_math_description":"Add deep linking to .NET MAUI applications. Configure platform handlers, routing, and cross-platform link resolution in C# apps.","rank_math_focus_keyword":"MAUI deep linking","rank_math_canonical_url":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"https:\/\/tolinku.com\/blog\/wp-content\/uploads\/2026\/03\/og-maui-deep-linking.png","rank_math_facebook_image_id":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"https:\/\/tolinku.com\/blog\/wp-content\/uploads\/2026\/03\/og-maui-deep-linking.png","footnotes":""},"categories":[15],"tags":[25,23,156,567,20,566,24,69,22,565],"class_list":["post-1891","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","tag-android","tag-app-links","tag-cross-platform","tag-csharp","tag-deep-linking","tag-dotnet-maui","tag-ios","tag-mobile-development","tag-universal-links","tag-xamarin"],"_links":{"self":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/1891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/comments?post=1891"}],"version-history":[{"count":1,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/1891\/revisions"}],"predecessor-version":[{"id":1892,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/1891\/revisions\/1892"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/media\/1890"}],"wp:attachment":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/media?parent=1891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/categories?post=1891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/tags?post=1891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}