# Create an API Client for InStore Connect your Project to InStore by creating one or more API Clients. Use API Clients to connect your Project with your InStore environment hosted by commercetools. This guide helps you create two API Clients: - An API Client to give the InStore core application access to your Project for performing core payment operations. This client handles calls to allow your frontend application to retrieve a cart, create a payment, and attach a payment to the cart. This client is needed for all deployments. - One or more separate API Clients to give the InStore core application access to your Project for performing other InStore POS operations. Create these API Clients for each InStore tenant environment. You might need additional API Clients for additional functionalities. ## Create the API Clients 1. [Create an API Client](/search.md?urn=ctp:api:endpoint:/{projectKey}/api-clients:POST) with the required scopes for InStore: - For the API Client that performs core payment functions, use the scopes listed in [Scopes for core payment functions](/instore/implement-instore/integrate-with-instore/create-an-api-client-for-instore.md#scopes-for-core-payment-functions). - For the API Client that performs other InStore functions, use the scopes listed in [Scopes for other InStore functions](/instore/implement-instore/integrate-with-instore/create-an-api-client-for-instore.md#scopes-for-other-instore-functions). For security, we recommend granting only the necessary scopes. 2. On the [**Project Settings**](/instore/use-the-instore-center/environment.md#project-settings-tab) tab of the **Environment** page in the InStore Center, add your connection credentials (the `Client ID` and `Client Secret` values from your API Client) and the scopes that you used in the API Client. You cannot edit an existing API Client. Every time you alter your Project connection information, you must delete the old API Client and create a replacement API Client to reflect the change. ### Scopes for core payment functions Use the following scopes for the API Client that connects to the InStore core functionality: - `manage_orders` - `manage_payments` - `view_customers` - `view_types` ### Scopes for other InStore functions Use the following scopes for the API Client that connects to your in-store application: - `manage_shopping_lists` - `manage_orders` - `manage_payments` - `manage_customers` - `view_categories` - `view_customer_groups` - `view_discount_codes` - `view_published_products` - `view_shipping_methods` - `view_stores` The listed `manage_*` scopes are the only `manage_*` scopes necessary for InStore. For information about scope syntax, see [Scopes](/api/scopes.md). ## Related pages - [Area overview page with navigation](/instore.md) - [Previous page: Overview](/instore/implement-instore/integrate-with-instore/overview.md) - [Next page: Set up your Project for InStore](/instore/implement-instore/integrate-with-instore/set-up-your-composable-commerce-project.md) - [Search documentation and API specs](/search.md)