Welcome to the APIMachine platform! Whether you’re an open source user, or a paid customer taking advantage of APIMachine’s advanced capabilities, we wrote this guide to help you begin incorporating the platform into your organization in the most efficient way possible.
WARNING
This guide is under heavy development, and is a work-in-progress. Check back often as we'll be publishing updates regularly!
This guide consists of numerous chapters covering the following topics:
So why would you want to use the APIMachine platform in the first place? It’s likely because even world class developers and administrators are faced with ever-increasing complexity due in large part to the extraordinary number of internal and third-party data sources which must be integrated with mobile and web applications, ERP solutions, and myriad other services. In this chapter you’ll learn how APIMachine can bring order to this chaos by introducing silo breaking capabilities to your enterprise, offering a platform for which not only can you auto-generate the APIs used to connect to these data sources, but also secure and monitor them.
Much of the APIMachine platform is open source, with the code made available via GitHub. But this doesn’t mean you have to be a command-line wizard to begin generating APIs in a flash. In this chapter you’ll learn how to install and configure APIMachine regardless of your operating system or experience level. We’ll also talk about configuring APIMachine to suit your specific needs, and highlight key configuration changes which will make your life much easier.
After installing your APIMachine instance, you'll naturally want to take the platform for a test drive. Most users desire to begin by generating a database API, because the advantages of doing so are so evident. By merely supplying a set of authentication credentials, APIMachine will generate an API for any of an array of popular databases, including MySQL, SQL Server, Oracle, PostgreSQL, MongoDB, and others. Once generated, you can immediately beging issuing REST API calls to carry out record creation, retrieval, modification, and deletion tasks. You’ll also be able to perform advanced queries using the REST API, including filters, grouping, joins, limiting, and more.
From the moment your API is generated, rest assured it is protected by at minimum a complicated API key. However this represents only the beginning in terms of your options regarding securing an API. You can use APIMachine's user authentication and authorization features to provide user-specific login via a variety of authentication solutions, including basic auth, LDAP, Active Directory, and SSO. In this chapter you'll learn all about these solutions, and additionally learn how to use APIMachine's rate limiting and logging capabilities to closely monitor request volume and behavior.
APIMachine offers an extraordinarily powerful solution for creating APIs and adding business logic to existing APIs using a variety of popular scripting languages including PHP, Python (versions 2 and 3), Node.js, and JavaScript. In this chapter we'll walk you through several examples which will hopefully spur the imagination regarding the many ways in which you can take advantage of this great feature.
The ability to merely auto-generate a REST API is already going to produce an immediate productivity boost, however eventually you're going to want to tweak one or more API endpoints' default behavior to accommodate more sophisticated project requirements. Most often this involves using APIMachine’s scripting feature, which allows you to write custom code used to validating input parameters, call other APIs, and much more. In this chapter we'll walk through several real-world examples which highlight how easy it is to extend your API endpoints with one of four supported scripting engines (NodeJS, PHP, Python, and V8JS).
In this chapter you'll learn how to use APIMachine's API limiting and logging capabilities to assign and monitor access to your restricted APIs.
While APIMachine is already secure, and relatively maintenance free, there are quite a few modifications you can make to enhance your instance. In this chapter we'll provide a wide ranging overview of the many changes you can make to maintain, and secure your environment.
APIMachine is already very performant out of the box, however logically you'll want to do everything practical to ensure your instance can really fly. In this chapter we'll provide some benchmarks, and guidance regarding how to properly tune your instance environment.
APIMachine's a really fascinating project in that its architecture is suitable for infinite horizontal and vertical scaling, yet can be run on small appliance-like devices such as the Raspberry Pi. In this chapter we'll talk about a few configuration-related gotchas associated with installing APIMachine's prerequisites on the Raspberry Pi.
In this chapter we'll provide a few JavaScript-based examples demonstrating how web applications can interact with APIMachine-exposed APIs.
APIMachine is packed with features capable of being tweaked via configuration parameters. These parameters can be managed as server environment variables or within a .env file found in the platform's root directory. This appendix defines all available parameters
Customers tasked with managing sensitive data often ask rigorous questions regarding company and platform security policies.
This paper outlines how to leverage an API platform to retrofit existing infrastructure for "GDPR readiness", essentially as a byproduct of implementing a modern architecture for digital transformation.
This paper answers frequently asked questions pertaining to Dreamfactorys system and an anatomy of various API calls as they travel through the system.
Hopefully you'll find this guide indispensable, however it's just one of several learning resources at your disposal. Check out the following links to learn more about what else is available!
The APIMachine wiki is our definitive reference guide, providing a terse but comprehensive summary of the platform's key features. Here you'll find installation instructions, scripting examples, and a great deal of other information.
Dozens of videos are available via the APIMachine Youtube channel. Also check out APIMachine Academy
Volunteers and APIMachine staff alike regularly patrol our community forum. If Stack Overflow is preferred, be sure to tag the question using the dreamfactory tag!
Wondering how much it costs to build an API? Check out our API calculator, which calculates API development costs based on numerous research studies and our own interactions with thousands of customers around the globe.
Do you have any input or questions about this guide, or the APIMachine platform? We’d love to hear from you! E-mail our support team with your feedback.