What is the xTuple REST API?

To answer that question, first we have to answer a few other questions.

What is an Interface?

An Interface is where two things interact. An object's interface is what it presents to the outside world or other objects as the way to interact with it. We incounter interfaces everywhere in the world. A door handle is an interface. You car's stearing wheel is an interface. Writing on a piece of paper with a pen is using an interface. A keyboard, mouse and screen are interfaces to computers.

What is an API?

An API by definition is an Application Programming Interface. Most of the computer applicaitons you work with every day present a User Interface where you can click, type and/or touch things to interact with the application. That interface is for users, people, to interact with the applicaiton. People are not the only things that need to use applications. Other applications may need to use a feature of a different application. Other computers or systems may need to use that feature. An example of this is sending an email. The email client on your phone or computer doesn't actually send emails to other people, it uses an email servers API to send emails.

To make sending emails easy, email servers have defined a standard and implemented and API that conforms to that standard. That allows all kinds of other applications to be able to consistently send email no matter what or where the server is. The email server has an API that any client applications can use. Client applications can be programmed to use that API so they can send emails using that email server.

What is REST?

REST stands for REpresentational State Transfer, which doesn't really tell the average user anything about what REST is. To understand REST, the best analogy is your computer's browser. When you visit a website, you are acessing a web server's API. That API implements a standard called HTTP. REST leverages the HTTP standard to present an API for some application.

So what is the xTuple REST API?

xTuple has build a web server that presents a REST API that client applications can use to interact with the xTuple ERP system. This allows client applications to get data like Products, Customers, Contacts, Addresses, etc. Those client applications can be built to do all kinds of different things with this data. See the xTuple REST API wiki (login required)  to learn more about how to use it.