The Amplify API category provides an interface for making requests to your backend. The Amplify CLI deploys REST APIs and handlers using [Amazon API Gateway](http://docs.aws.amazon.com/apigateway/latest/developerguide/) and [AWS Lambda](http://docs.aws.amazon.com/lambda/latest/dg/).

## Goal
To setup and configure your application with Amplify API to make requests to your API Gateway and trigger the lambda function using authorization provided by Amplify Auth.

## Prerequisites

import ios0 from "/src/fragments/lib/restapi/ios/getting-started/10_preReq.mdx";

<Fragments fragments={{ios: ios0}} />

import android1 from "/src/fragments/lib/restapi/android/getting-started/10_preReq.mdx";

<Fragments fragments={{android: android1}} />

import flutter2 from "/src/fragments/lib/restapi/flutter/getting-started/10_preReq.mdx";

<Fragments fragments={{flutter: flutter2}} />

## Configure API

import ios3 from "/src/fragments/lib/restapi/ios/getting-started/11_amplifyInit.mdx";

<Fragments fragments={{ios: ios3}} />

import android4 from "/src/fragments/lib/restapi/android/getting-started/11_amplifyInit.mdx";

<Fragments fragments={{android: android4}} />

import flutter5 from "/src/fragments/lib/restapi/flutter/getting-started/11_amplifyInit.mdx";

<Fragments fragments={{flutter: flutter5}} />

## Install Amplify Libraries

import ios6 from "/src/fragments/lib/restapi/ios/getting-started/20_installLib.mdx";

<Fragments fragments={{ios: ios6}} />

import android7 from "/src/fragments/lib/restapi/android/getting-started/20_installLib.mdx";

<Fragments fragments={{android: android7}} />

import flutter8 from "/src/fragments/lib/restapi/flutter/getting-started/20_installLib.mdx";

<Fragments fragments={{flutter: flutter8}} />

## Initialize Amplify API

import ios9 from "/src/fragments/lib/restapi/ios/getting-started/30_initapi.mdx";

<Fragments fragments={{ios: ios9}} />

import android10 from "/src/fragments/lib/restapi/android/getting-started/30_initapi.mdx";

<Fragments fragments={{android: android10}} />

import flutter11 from "/src/fragments/lib/restapi/flutter/getting-started/30_initapi.mdx";

<Fragments fragments={{flutter: flutter11}} />

## Make a POST Request

Send a POST request with a JSON body.

import ios12 from "/src/fragments/lib/restapi/ios/getting-started/40_postTodo.mdx";

<Fragments fragments={{ios: ios12}} />

import android13 from "/src/fragments/lib/restapi/android/getting-started/40_postTodo.mdx";

<Fragments fragments={{android: android13}} />

import flutter14 from "/src/fragments/lib/restapi/flutter/getting-started/40_postTodo.mdx";

<Fragments fragments={{flutter: flutter14}} />

To navigate to your backend, go to the [API Gateway console](https://aws.amazon.com/apigateway) and select the API. The name of the API corresponds to the friendly name of the resource to be used as a label you specified earlier in the CLI steps.

## Next steps

Congratulations! You've made a call to your API Gateway and triggered your Lambda function. Check out the following links to see other Amplify API use cases:

* [Fetching Data](/lib/restapi/fetch)
* [Updating Data](/lib/restapi/update)
* [Deleting Data](/lib/restapi/delete)
* [Define authorization rules](/lib/restapi/authz)
