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

# GraphQL

You can use the GraphQL connector from the CData Sync application to capture data
from GraphQL and move it to any supported destination. To do so, you need to add
the connector, authenticate to the connector, and complete your connection.

## Add the GraphQL Connector

To enable Sync to use data from GraphQL, you first must add the
connector, as follows:

<ol>
  <li>Open the **Connections** page of the Sync dashboard.</li>
  <li>Click **Add Connection** to open the **Select Connectors** page.</li>
  <li>Click the **Sources** tab and locate
  the **GraphQL** row.</li>

  <li>
    Click the **Configure Connection** icon at the end of that row to open
    the **New Connection** page. This action opens the
    **Add Connection** dialog.

    **Note:** If the **Configure Connection** icon is not
    available, click the **Download Connector** icon to install
    the GraphQL connector.
  </li>

  <li>Enter a name for your connection in the **Add Connection** dialog.</li>
  <li>Click **Add** to open the **Settings** tab for your connector.</li>
</ol>

For more information about installing new connectors, see
[Connections](https://docs.sync.cdata.com/26.4/en/connections/connections.md).

## Authenticate to GraphQL

After you add the connector, you need to set the required properties.

**URL:** Enter the URL for your GraphQL service.

CData Sync supports authenticating to GraphQL in several ways. Select your authentication method below to proceed to the relevant section that contains the authentication details.

* [**None**](#none)
* [**Basic**](#basic)
* [**OAuth**](#oauth) (default)
* [**OAuth PKCE**](#oauth-pkce)
* [**Aws Cognito Secure Remote Password**](#aws-cognito-secure-remote-password)
* [**Aws Cognito Basic**](#aws-cognito-basic)

### None

To connect without authentication, select **None** for **Auth Scheme**. No additional properties are required.

### Basic

To connect with your user credentials, set the following properties:

<ul><li>**Auth Scheme:** Select **Basic**.</li>
<li>**User:** Enter the username that you use to authenticate to your GraphQL account.</li>
<li>**Password:** Enter the password that you use to authenticate to your GraphQL account.</li></ul>

### OAuth

To connect with OAuth custom credentials, specify the following properties:

* **Auth Scheme:** Select **OAuth**.
* **OAuth Version:** Select the OAuth version that you want to use. The versions are **Disabled** (default), **1.0**, and **2.0**.
* **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Authorization URL:** Enter the OAuth authorization URL that you need to authorize request tokens when you sign in.
* **OAuth Access Token URL:** Enter the URL from which the request for the access token is made.
* **OAuth Refresh Token URL:**  Enter the URL from which the refresh token is exchanged for a new access token when the old one expires. Note that for your data source, this URL might be the same as the access-token URL.
* (Optional) **OAuth Request Token URL:** Enter the URL from which the application requests the request token.

### OAuth PKCE

To connect with the OAuth PKCE extension, set the following properties:

* **Auth Scheme:** Select **OAuthPKCE**.
* **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Authorization URL:** Enter the OAuth authorization URL that you need to authorize request tokens when you sign in.
* **OAuth Access Token URL:** Enter the URL where the request for the access token is made.
* **OAuth Refresh Token URL:** Enter the URL where the refresh token is exchanged for a new access token when the old one expires. Note that for your data source, this URL might be the same as the access-token URL.

### AWS Cognito Secure Remote Password

To connect with your Amazon Web Services (AWS) Cognito credentials, specify the following properties:

<ul><li>**Auth Scheme:** Select **AwsCognitoSrp**.</li>
<li>**User:** Enter the username of the user that is registered in the user pool.</li>
<li>**Password:** Enter the password of the user that is registered in the user pool.</li>
<li>**AWS Cognito Region:** Select the hosting region for Amazon Web Services (AWS) Cognito. The default region is **NORTHERNVIRGINIA**.</li>
<li>**AWS User Pool Id:** Enter your AWS user-pool identifier (Id).</li>
<li>**AWS User Pool Client App Id:** Enter your AWS user-pool client application Id.</li>
<li>(Optional) **AWS User Pool Client App Secret:** Enter the secret for your user-pool client.</li>
<li>**AWS Region:** Select the hosting region for your Amazon Web Services. The default region is **NORTHERNVIRGINIA**.</li></ul>

### AWS Cognito Basic

To connect with your Amazon Web Services (AWS) Cognito credentials, specify the following properties:

<ul><li>**Auth Scheme:** Select **AwsCognitoBasic**.</li>
<li>**User:** Enter the username of the user that is registered in the user pool.</li>
<li>**Password:** Enter the password of the user that is registered in the user pool.</li>
<li>**AWS Cognito Region:** Select the region for your Amazon Web Services (AWS) user pool. The default region is **NORTHERNVIRGINIA**.</li>
<li>**AWS User Pool Id:** Enter your AWS user-pool identifier (Id).</li>
<li>**AWS User Pool Client App Id:** Enter your AWS user-pool client application Id.</li>
<li>(Optional) **AWS User Pool Client App Secret:** Enter the secret for your user-pool client.</li></ul>

## Complete Your Connection

To complete your connection:

1. Define advanced connection settings on the **Advanced** tab. (In most cases, though, you should not need these settings.)
2. If you authenticate with OAuth and OAuthPKCE, click **Connect to GraphQL** to connect to your GraphQL account.
3. Click **Create & Test** to create your connection.

## More Information

For more information about interactions between CData Sync and GraphQL, see
[GraphQL Connector for CData Sync](https://cdn.cdata.com/help/LAN/synch/default.htm).


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