DEV Community

Cover image for Create an API in Umbraco in 5 Minutes: A Quick Guide for Developers
Shekhar Tarare
Shekhar Tarare

Posted on • Originally published at shekhartarare.com

Create an API in Umbraco in 5 Minutes: A Quick Guide for Developers

Why Create an API in Umbraco?

APIs (Application Programming Interfaces) allow different software systems to communicate with each other. By creating an API in Umbraco, you can enable external applications to interact with your website’s content, offering enhanced functionality and improved user experiences.

Prerequisites

Before we start, ensure you have the following:

  • An Umbraco installation
  • Visual Studio or your preferred IDE

Step 1: Set Up Your Umbraco Project

First, ensure your Umbraco project is set up correctly. If you haven’t installed Umbraco yet, follow the steps mentioned here:

Step 2: Create the API Controller

Add a New Folder called Controllers: Add a new class file and name it MyAPIController.cs.

Create an api controller

Write the API Code:



using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Web.Common.Controllers;
namespace InstallingUmbracoDemo.Controllers
{
public class MyAPIController : UmbracoApiController
{
[HttpGet]
public string GetGreeting()
{
return "Hello, Umbraco API!";
}
}
}

Enter fullscreen mode Exit fullscreen mode




Step 3: Test Your API

We don’t need to do anything about routing. Umbraco will automatically handle that for us. Now, let’s test our API:

Open your browser and navigate to http://yourdomain.com/umbraco/api/myapi/getgreeting. You should see the message “Hello, Umbraco API!”.

Final output

Conclusion

Creating an API in Umbraco is quick and easy, allowing you to expand the functionality of your website and integrate with external systems. By following the steps outlined in this guide, you can set up a basic API in just 5 minutes without the need for additional routing configuration.

For more advanced Umbraco tutorials and tips, stay tuned to our blog and feel free to leave your questions in the comments!

Top comments (0)