> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SAP S/4HANA OAuth 2.0 (Authorization Code + PKCE) connector profile – StackOne setup guide

> Set up a connector profile using OAuth 2.0 (Authorization Code + PKCE) for SAP S/4HANA in StackOne to allow users to link their accounts.

> [!WARNING]
>
> Administrator access to the SAP S/4HANA Cloud tenant is required to create the Communication System and Communication Arrangements. Each user who connects needs business roles that allow the APIs they will call.

## Find your API host

The API host is where StackOne sends requests. This method is for SAP S/4HANA Cloud Public Edition.

**1. Work out the host**

Take your Fiori launchpad host and add `-api` after the system ID. Enter the launchpad host as the **Login Host** and the `-api` host as the **API Host** in your Connector Profile.

<ul>
  <li>Launchpad `https://my123456.s4hana.cloud.sap/ui` gives Login Host `my123456.s4hana.cloud.sap` and API Host `my123456-api.s4hana.cloud.sap`</li>
</ul>

## Register StackOne as an OAuth client

The OAuth client is defined on a Communication System.

**1. Create the Communication System**

Open **Communication Systems**, click **New** and create a system for StackOne (mark it **Inbound Only** if offered).

**2. Set the redirect URI**

Under **Inbound OAuth 2.0 Client Settings**, enter the **Callback URL** from your Connector Profile as the **Client Redirect URI**.

**3. Add the OAuth 2.0 client**

Under **Users for Inbound Communication**, click **Add**, select **OAuth 2.0** as the authentication method and enter an **OAuth 2.0 Client ID**, e.g. `STACKONE`.

<ul>
  <li>Enter the same Client ID in your Connector Profile</li>
  <li>StackOne signs in with PKCE and no client secret, so no secret is needed</li>
</ul>

## Create the Communication Arrangements

Each API is enabled by a Communication Arrangement using the Communication System above.

**1. Create the arrangements**

Open **Communication Arrangements** and create one arrangement per API.

<ul>
  <li>`SAP_COM_0008` for Business Partner, Customer and Supplier</li>
  <li>`SAP_COM_0118` for Sales Quotation, `SAP_COM_0119` for Sales Contract</li>
  <li>`SAP_COM_0294` for Sales Pricing Condition Records, `SAP_COM_0134` for Customer Material</li>
  <li>`SAP_COM_0164` for Material Stock, `SAP_COM_0108` for Material Documents</li>
  <li>Product, Sales Order, Billing and Warehouse APIs do not accept OAuth; connect them with Basic Auth or Client Certificate</li>
</ul>

**2. Copy the scopes**

In each arrangement, open **Inbound Communication > OAuth 2.0 Details** and copy the scope ID (for example `API_BUSINESS_PARTNER_0001`). Enter all of them in the **Scopes** field of your Connector Profile, separated by spaces.

## Create the StackOne Connector Profile

**1. Create a Connector Profile**

Enable the connector and create a Connector Profile in your project. See [Setup Connector Profile](https://docs.stackone.com/gateway/quickstart.md#setup-connector-profile).

**2. Link an Account**

Once the Connector Profile is created, continue to [link an account](https://docs.stackone.com/connectors/saps4hana/guides/link-account/oauth-2-0-authorization-code-pkce.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.