# JSON

### Connecting to JSON Data Sources <a href="#connecting-to-json-data-sources" id="connecting-to-json-data-sources"></a>

Below is an overview of the authentication properties corresponding to each data source:

| **Service provider** | **URI formats**                                                            | **InitiateOAuth** | **OAuthClientId** | **OAuthClientSecret** | **OAuthAccessToken** | **OAuthAccessTokenSecret** | **User** | **Password** | **AuthScheme** | **AzureAccount** | **AzureAccessKey**        | **AWSAccessKey**          | **AWSSecretKey**          | **AWSRegion** |
| -------------------- | -------------------------------------------------------------------------- | ----------------- | ----------------- | --------------------- | -------------------- | -------------------------- | -------- | ------------ | -------------- | ---------------- | ------------------------- | ------------------------- | ------------------------- | ------------- |
| Local                | <p>localPath</p><p>file://localPath</p>                                    |                   |                   |                       |                      |                            |          |              |                |                  |                           |                           |                           |               |
| HTTP or HTTPS        | <p><http://remoteStream></p><p><https://remoteStream></p>                  |                   |                   |                       |                      |                            | OPTIONAL | OPTIONAL     | OPTIONAL       |                  |                           |                           |                           |               |
| Amazon S3            | s3://remotePath                                                            |                   |                   |                       |                      |                            |          |              |                |                  |                           | REQUIRED (your AccessKey) | REQUIRED (your SecretKey) | OPTIONAL      |
| Azure Blob Storage   | azureblob://mycontainer/myblob/                                            |                   |                   |                       |                      |                            |          |              |                | REQUIRED         | REQUIRED (your AccessKey) |                           |                           |               |
| Google Drive         | gdrive://remotePath                                                        | OPTIONAL          | OPTIONAL          | OPTIONAL              | OPTIONAL             | OPTIONAL                   |          |              |                |                  |                           |                           |                           |               |
| Box                  | box://remotePath                                                           | OPTIONAL          | REQUIRED          | REQUIRED              | OPTIONAL             | OPTIONAL                   |          |              |                |                  |                           |                           |                           |               |
| Dropbox              | dropbox://remotePath                                                       | OPTIONAL          | REQUIRED          | REQUIRED              | OPTIONAL             | OPTIONAL                   |          |              |                |                  |                           |                           |                           |               |
| SharePoint Online    | sp\://remotePath                                                           |                   |                   |                       |                      |                            | REQUIRED | REQUIRED     |                |                  |                           |                           |                           |               |
| FTP or FTPS          | <p>ftp\://server:port/remotePath</p><p> ftps\://server:port/remotepath</p> |                   |                   |                       |                      |                            | REQUIRED | REQUIRED     |                |                  |                           |                           |                           |               |
| Wasabi               | wasabi://bucket1/remotePath;                                               |                   |                   |                       |                      |                            |          |              |                |                  |                           |                           |                           |               |

### Connecting to Local Files <a href="#connecting-to-local-files" id="connecting-to-local-files"></a>

Set the URI to a JSON file.

Below is an example connection string:<br>

| `URI=C:\folder1\file.json;` |
| --------------------------- |

### Connecting to HTTP JSON Streams <a href="#connecting-to-http-json-streams" id="connecting-to-http-json-streams"></a>

Set the URI to the HTTP or HTTPS URL of the JSON resource you want to access as a table. Set AuthScheme to use the following authentication types. The provider also supports OAuth authentication;&#x20;

* **HTTP**

  To use HTTP Basic or Digest, set the User and Password. Set CustomHeaders if you need access to the request headers. Set CustomUrlParams to modify the URL query string.
* **Windows (NTLM)**

  Set the Windows User and Password to connect and set AuthScheme to "NTLM".
* **Kerberos and Kerberos Delegation**

  To authenticate with Kerberos, set the User and Password and set AuthScheme to NEGOTIATE. To use Kerberos Delegation, set AuthScheme to KERBEROSDELEGATION.

&#x20;For example:<br>

| `URI=http://www.host1.com/streamname1;AuthScheme=BASIC;User=admin;Password=admin` |
| --------------------------------------------------------------------------------- |

### Connecting to Amazon S3 <a href="#connecting-to-amazon-s3" id="connecting-to-amazon-s3"></a>

Set the URI to a JSON document in a bucket. Additionally, set the following properties to authenticate:

* AWSAccessKey: Set this to an Amazon Web Services Access Key (a username).
* AWSSecretKey: Set this to an Amazon Web Services Secret Key.

&#x20;For example:<br>

| `URI=s3://bucket1/folder1/file.json; AWSAccessKey=token1; AWSSecretKey=secret1; AWSRegion=OHIO;` |
| ------------------------------------------------------------------------------------------------ |

&#x20;Optionally, specify AWSRegion.

#### Connecting to Wasabi <a href="#connecting-to-wasabi" id="connecting-to-wasabi"></a>

Set the URI to the bucket and folder. Additionally, set the following properties to authenticate:

* AWSAccessKey: Set this to an Wasabi Access Key (a username)
* AWSSecretKey: Set this to an Wasabi Secret Key.

&#x20;For example:<br>

| `URI=wasabi://bucket1/folder1/file.json; AWSAccessKey=token1; AWSSecretKey=secret1; AWSRegion=OHIO;` |
| ---------------------------------------------------------------------------------------------------- |

&#x20;Optionally, specify AWSRegion in addition.

### Connect to Azure Blob Storage <a href="#connect-to-azure-blob-storage" id="connect-to-azure-blob-storage"></a>

Set the URI to the name of your container and the name of the blob. Additionally, set the following properties to authenticate:

* AzureAccount: Set this to the account associated with the Azure blob.
* AzureAccessKey: Set the to the access key associated with the Azure blob.

&#x20;For example:<br>

| `URI=azureblob://mycontainer/myblob; AzureAccount=myAccount; AzureAccessKey=myKey;` |
| ----------------------------------------------------------------------------------- |

### Connecting to Google Drive <a href="#connecting-to-google-drive" id="connecting-to-google-drive"></a>

&#x20;Set the URI to the path to a JSON file. To authenticate to Google APIs, use the OAuth authentication standard. You can connect with a user account or a service account. In the user account flow, you do not need to set any connection properties for your user credentials, as shown in the connection string below:<br>

| `URI=gdrive://folder1/file.json;InitiateOAuth=GETANDREFRESH;` |
| ------------------------------------------------------------- |

### Connecting to Box <a href="#connecting-to-box" id="connecting-to-box"></a>

Set the URI to the path to a JSON file. To authenticate to Box, use the OAuth authentication standard.  You can authenticate with a user account or a service account. In the user account flow, you do not need to set any connection properties for your user credentials, as shown in the connection string below:<br>

| `URI=box://folder1/file.json; InitiateOAuth=GETANDREFRESH;` |
| ----------------------------------------------------------- |

### Connecting to Dropbox <a href="#connecting-to-dropbox" id="connecting-to-dropbox"></a>

Set the URI to the path to a JSON file. To authenticate to Dropbox, use the OAuth authentication standard. You can authenticate with a user account or a service account. In the user account flow, you do not need to set any connection properties for your user credentials, as shown in the connection string below:<br>

| `URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;` |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

#### Connecting to SharePoint Online <a href="#connecting-to-sharepoint-online" id="connecting-to-sharepoint-online"></a>

Set the URI to a document library containing JSON files. To authenticate, set User and Password and SharepointUrl.<br>

| `URI=sp://Documents/folder1/file.json; User=user1; Password=password1; SharepointUrl=https://subdomain.sharepoint.com;` |
| ----------------------------------------------------------------------------------------------------------------------- |

### Connecting to FTP <a href="#connecting-to-ftp" id="connecting-to-ftp"></a>

Set the URI to the address of the server followed by the path to a JSON file. To authenticate, set User and Password.<br>

| `URI=ftps://localhost:990/folder1/file.json; User=user1; Password=password1;` |
| ----------------------------------------------------------------------------- |

### Securing JSON Connections <a href="#securing-json-connections" id="securing-json-connections"></a>

By default, the provider attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store. To specify another certificate, see the SSLServerCert property for the available formats to do so.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.appstrategy.com/apprules-r-documentation/platform/platform-features/system-settings/data-sources/connection-settings/services/json.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
