# Integrate the APIs
source: https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/integrate_apis_guestcheckout/step2/index.md

## Step 2: Integrate the APIs {#step-2-integrate-the-apis}

* To get started with the API integration, download the OpenAPI Specifications available in [API Reference](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/api-reference/apis/index.md) section. Generate an API client using an [OpenAPI Generator](https://openapi-generator.tech/), which provides generators and library templates for supporting multiple languages and frameworks.

* To help you sign requests and perform payload encryption/decryption, Mastercard provides [client authentication libraries]((https://github.com/Mastercard?q=oauth1-signer)) and [encryption libraries](https://github.com/Mastercard?&q=client-encryption).

* Follow the steps in [Generating and Configuring a Mastercard API Client](https://developer.mastercard.com/platform/documentation/security-and-authentication/generating-and-configuring-a-mastercard-api-client/) tutorial to enable authentication and perform encryption/decryption.

* Mastercard supports two protocols for authenticating client applications to integrate with Mastercard APIs. Learn more on [API Basics](https://developer.mastercard.com/drafts/mastercard-checkout-solutions/src_host_sd/documentation/api-basics/) page.

Note: **In case of OAuth Authentication:**   

* Site identifier `X-Src-Cx-Flow-Id` is added as a part of all inbound API response headers for resolving site affinity issues on subsequent calls.
* When making back-to-back API calls, the client must include the `X-Src-Cx-Flow-Id` of the initial API response in the header of the subsequent API request. This ensures that the consecutive API calls will be sent to the same Mastercard server that returned the initial response.
