Legacy Knowledge Base
Published Jun. 30, 2025

Improvements on API Builder

Written By

Liferay Support

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

Legacy Article

You are viewing an article from our legacy "FastTrack" publication program, made available for informational purposes. Articles in this program were published without a requirement for independent editing or verification and are provided"as is" without guarantee.

Before using any information from this article, independently verify its suitability for your situation and project.

Context

Currently, if any customer needs to create a custom API that works over custom Objects, they have two options:

  • use the default API generated with the Object (one API for each object).
  • develop it on top of REST builder (using a partner or it’s own IT department).

The same applies if you need to create Custom Data Lists for Objects. Your only possibility is to develop it.

So, with the focus on this last use case, but with long term goal of providing full-fledge tool that can cover more complex use cases, we have developed the API Builder: a way to create custom API Applications with No Code.

What we have done

We have created a new application that helps developers to build APIs based on custom Objects in a No Code UI. This new feature allow users to define the whole structure of the API, from the endpoint’s name to the data model of the request and response schemes.

How it works

Although we are going to focus on the UI part, it’s very important to know that all capabilities are available at the API layer because the persistence layer of the API Builder is Objects and every object has it’s own CRUD API application created by default.

Objects & API applications:

  • API Application
  • API Endpoint
  • API Schema
  • API Property
  • API Filter
  • API Sort

API Application:

image01.png

Create API Application

image02.png

Add new API Application

When user types the Title, the URL is completed automatically using lowercase letters and deleting the special characters except “-” . As stated in the modal, users can modify the relative URL of the API application if the need.

Once the application is created, users can see and modify the details of the application. Additionally, they will have access to two new tabs: Endpoints and Schemas. 

image03.png

 

Edit & Delete

image04.png

From the App’s list, the user can access directly to:

  • Edit: direct access to the edit page.
  • Delete: when the user clicks over this option, a confirmation modal is shown. The user needs to type the name of the App in order to confirm the delete action

image05.png

 

API Schema:

image06.png

Creating a API Schema

  • Name: the user decides the name of the schema
  • Description: the user can add a description (not mandatory)
  • Object: drop down list with the existing objects (system and custom). All properties added to the schema belong to the main object or its related objects.

 

Edit & Delete

From the Schema’s list, users can edit or delete one of them. By clicking the edit option, the user navigates to the info tab at the edit page and, the delete option, shows a confirmation modal.

image07.png

API Schema Properties:

Users can define the structure and the properties of the schema in the UI, using 2 different areas:

image08.png

  1. Schema structure: in this area, users can order the properties, search for them and see the whole structure of the schema.
  2. Properties from the main object: in this area, users can select the properties to add to the schema just clicking over them. Apart from the main object properties, if it has any related object, the button “View Related Objects” will be shown.

Adding a property to the schema:

When you hover any property, a "+" icon is shown and, clicking on the name or on the icon, the property appears at the top of the properties inside the area 1. If the user wants to add a property from a related object, they can use the View Related Objects button and navigate to the appropriate property.

image09.png

Edit a property of the schema:

Hover the property in the schema structure so an edit icon is shown and, by clicking it, a modal is shown

image10.png

  • Name: label that will be shown at the schema definition
  • Description: description of the property (not mandatory)
  • Data type: type of the property of the object (cannot be changed)
  • Mapped property: field of the object that is mapped to the schema property (cannot be changed)

Delete a property of the schema:

Hover the property at the schema structure, a delete icon is shown and, by clicking it, the property is deleted from the schema and is enabled again in the object property list.

API Endpoint:

image11.png

Creating an API Endpoint

To create a new endpoint, the user only needs to complete 2 fields: Scope ( Company or Site ) and the Path. Later, when the endpoint is created, user can select the related schema for the response at the configuration tab:

image01.png

and adding the pre-filter and sorting using OData queries:

  • Filter example: name eq ‘Mary’
  • Sort example: name:desc, surname:asc

Edit and Delete:

From the Endpoint’s list, users can edit or delete them. By clicking the edit option, the user navigates to the info tab at the edit page and, the delete option, shows a confirmation modal.

image02.png

Publish and Unpublish API applications

Currently, API applications can be in one of two states : Published and Unpublished.

  • Unpublished: It’s the default state of the application when it’s created. In this state, the app is not available for other systems and it’s not visible in the Headless API Explorer.
  • Published: If all validations are correct, the app is available and accesible to other systems and it’s visible in the Headless API Explorer. The Path will be https://{host}/o/c/{app_path}/

Users can change the status any time they need it. Only when the change is from Published to Unpublished, the user will see this confirmation modal:

image03.png

Demo & Additional Resources

Limitations

In this first MVP, only GET endpoints can be created and the structure of the schemas is flat (no possibility to create complex hierarchies between properties)

Next Steps

  • Possibility to create PUT, POST, PATCH, DELETE and GET single element methods.
  • Possibility to use complex hierarchies (containers) inside schemas:
    • Single Element

    • Array Element

Did this article resolve your issue ?

Legacy Knowledge Base