Copied!

Build Features With A REST API Layer For Rapid Deployment

How Using A Supplementive REST API Layer To Build New Features Avoids Complexity With Your Existing Systems

REST API Layer

Updated October 21, 2026

A REST API layer lets you build a new feature next to an old system without touching it. You build the feature’s forms in Form.io, pull the data you need from the existing database through an API, and store the new records in Form.io, so the old system stays exactly as it was.

“Don’t touch it,” you say to your team.

You’re referring to your 20-year old CRM running on PostgreSQL.

It works, but it’s old, so it’s not a system you want to go digging around in or mess with.

If you were to build on top of that CRM, it would be a huge undertaking and who knows what technical debt you’d incur by doing so.

Not really an option.

At some point you eventually want to move the data off of that older CRM, but that’s for later.

The task in front of you is that you need to build a support ticketing system AND you need the data in that CRM.

And it needs to be done FAST.

What’s the best way to handle this scenario:

  1. Without tying yourself down to some external platform that will lock you into their ecosystem
  2. Without getting charged more as you scale or,
  3. Without having to build it from scratch
  4. And without incurring a bunch of technical debt or added complexity to an old system

What you need is something flexible, which is what a REST API layer is.

A system that lets you create the core forms without starting from scratch AND be able to handle data supplements.

What do I mean?

Building a Data Supplement System: A Support Ticketing Feature Next to a 20-Year-Old CRM

The goal is to build a new system, on the side, as a supplement to your 20 year old PostgreSQL-based CRM.

The central piece of a ticketing system will likely be a long-ish form that collects a number of pieces of data to create the support ticket.

You build that with drag and drop forms in Form.io before you finish your coffee. Done.

Now, a significant portion of the data that needs to populate the fields isn’t going to come from the user. It’s going to come from the CRM database.

Since everything in Form.io has an API, you can configure the form to pull all the relevant data from the CRM when the logged-in user creates a new ticket (new form).

This of course is easy because Form.io forms are client-rendered, which I talked about here.

And by the way, you can configure Form.io to authenticate against your existing users database—no need to create a new one.

Then whatever fields are left, the data supplements, the user completes and hits submit and the support ticket is built.

Where does that ticket live?

In Form.io, not the CRM.

Because no one’s touching that CRM.

Form.io as a RESTful Database for the New Feature

Then, whenever you need to pull some data, such as show me all the tickets from this customer, it’s one API call to load those tickets. Form.io is acting like a RESTful database in this scenario.

A working prototype could be set up in a matter of days (or perhaps even less).

Think of Form.io as a thin, REST API layer that you put on top of your existing systems and that lets you introduce new features and capabilities with speed. That’s what I mean when I say rapid deployment.

Diagram: apps built with Angular, React, or Vue on desktop, tablet, and phone call the Form.io REST API on an on-premise or cloud server that sits in front of MongoDB and a legacy platform

And if you decide to ALT-F4-scrap the project rm -r /ticketingsystem/*, your CRM remains intact, just as it was before you started.

What a REST API Layer in Form.io Gives You Today

If you want to try the support ticketing scenario above, these are the pieces you would use.

  • An API for every form: Every form and resource gets an automatically generated REST API, and it works the moment the form is saved.
  • Queries on your new records: Submissions can be created, read, updated, deleted, filtered, and paginated through the submission API, so “show me all the tickets from this customer” is a single filtered request.
  • Data from the old system: The Data Source component fetches data from external URLs so you can auto populate fields from an existing database.
  • The logins you already have: SAML, OAuth / OIDC, LDAP, custom JWT tokens, and email with 2FA.
  • A path off the old CRM later: Each form can have unlimited actions, including webhooks, so submission data can also go out to external databases.
  • Your environment: The platform can be fully deployed in your own environment, on-premise or in the cloud.

Sources: How Form.io works and the Form.io concepts documentation. For more on this approach, read the long-term strategy of composable software or see how the data integration tools for enterprise forms work. Then tell us what you want to build.

Published by

Form.io Wizard
Content Writer

Long time platform user. Runs multiple production applications with a Form.io backend. "Form.io cleans up all the dirty work and does it for you." Deploy forms like its auth or file storage, stop reinventing the wheel. Forms as the UI, the data model, and the API model. Middleware Mafia.

Published by

Form.io Wizard
Content Writer

Long time platform user. Runs multiple production applications with a Form.io backend. "Form.io cleans up all the dirty work and does it for you." Deploy forms like its auth or file storage, stop reinventing the wheel. Forms as the UI, the data model, and the API model. Middleware Mafia.

LighthouseHQ Case Study: Digital Transformation
Get Answers

Need More Answers?

Ask and we'll get back with you in 1 business day.

Contact Us

Send us a message to contact support or ask a question.

Schedule a meeting

Open Source Platform

Read our FAQ to find out what exactly is Open Source

View the Platform Documentation

View the API Documentation

View the Open Source Code

Learn More

Learn How It Works

Read the Release Notes

Discover Industries that use Form.io

Read our Blog