Overview
API Builder lets you build and deploy a project that is comprised of API endpoints that can be consumed by any client application. An API Builder project is a Node.js application that runs in the AMPLIFY Runtime Services and is comprised of several components. You can either define the components using JavaScript files placed in specific directories, which are automatically loaded when creating an API Builder instance or programmatically create components after initializing an API Builder instance. For information about the components, see the diagram and sections below.
To get started, see the API Builder Getting Started Guide.
Connectors
API Builder Connectors are adaptors that allow you to read and write data to and from an external data source, such as Mobile Backend Services , MySQL, Salesforce, and MongoDB, or in server memory. You can either add an existing connector to your application or create one to interface with your custom data source.
Models
Models provide a standardized interface for an application which allows client applications to access data. Models are either provided by a connector, reduced from an existing model, or composed of several models (composite models) using a left or an inner join operation.
APIs
API Builder APIs are custom endpoints that allow you to programmatically access and execute custom operations on model data. You can create an API if you want to execute an operation not exposed by the standardized interface.
Blocks
API Builder Blocks are filters that allow you to pre- or post-process data. Blocks are optional and can be used by either APIs or Models.
Webs
API Builder Web is a framework to create endpoints that render HTML for client applications. An API Builder Web is composed of a router (API endpoint), renderer engine (generates HTML by applying data to a view), view (template file) and static assets, such as JavaScript files, images, CSS, and so forth.
Flows
API Builder Flows are acyclic directed graphs of operational flow-nodes which are composed of inputs, logic, and outputs. They are used by endpoints, which require them for their runtime functionality of taking inputs and turning them into responses when an endpoint is hit.