---
id: cli-sdk-init
title: SDK
pagination_label: CLI SDK
sidebar_label: SDK
sidebar_position: 20
sidebar_class_name: cli-sdk
keywords: ['cli', 'sdk init', 'sailpoint sdk', 'sdk setup']
description: Learn how to initialize a SailPoint SDK project using the CLI.
slug: /tools/cli/sdk
tags: ['CLI']
---

Learn how to use the SailPoint CLI to setup an SDK project. This command helps you initialize SDK projects across supported languages including Python, Go, PowerShell, and TypeScript.


- [Golang](#golang)
- [Python](#python)
- [PowerShell](#powershell)
- [TypeScript](#typescript)


## Golang

The SailPoint CLI offers a few commands that will allow you to quickly get started with the Go SDK. To learn how to install and use the SailPoint CLI, refer to [SailPoint CLI](https://developer.sailpoint.com/idn/tools/cli#get-the-cli).

Once the CLI is installed and configured, run this command to create a new Go project with the Go SDK:

```bash
sail sdk init golang go-example
```

Running the command will create the structure for your project:

```text
|-- go-example
|   |-- go.mod
|   |-- go.sum
|   |-- sdk.go
```

Navigate into your project folder and run this command to install the required dependencies:

```bash
go mod tidy
```

The SDK is now installed. To learn how to configure the SDK, refer to the [Configure section](#configure).




## Python

The SailPoint CLI offers a few commands that will allow you to quickly get started with the Python SDK. To learn how to install and use the SailPoint CLI, refer to [SailPoint CLI](https://developer.sailpoint.com/idn/tools/cli#get-the-cli).

Once the CLI is installed and configured, run this command to create a new Python project with the Python SDK:

```bash
sail sdk init python python-example
```

Running this command will create the structure for your project:

```text
|-- python-example
|   |-- requirements.txt
|   |-- sdk.py
```

Navigate into your project folder and run this command to install the required dependencies:

```bash
pip install -r requirements.txt
```

The SDK is now installed. To learn how to configure the SDK, refer to the [Configure section](#configure).



## PowerShell

The SailPoint CLI offers a few commands that will allow you to quickly get started with the PowerShell SDK. To learn how to install and use the SailPoint CLI, refer to [SailPoint CLI](https://developer.sailpoint.com/idn/tools/cli#get-the-cli).

Once the CLI is installed and configured, run this command to create a new PowerShell project with the PowerShell SDK:

```bash
sail sdk init powershell
```

Running the command create the structure for your project:

```text
|-- powershell-template
|   |-- paginate.ps1
|   |-- paginateAccounts.ps1
|   |-- patchEntitlement.ps1
|   |-- sdk.ps1
|   |-- search.ps1
|   |-- transform.ps1
```

Run this command to install the required dependencies:

```powershell
Install-Module -Name PSSailpoint
Install-Module -Name PSSailpoint.Beta
Install-Module -Name PSSailpoint.V3
Install-Module -Name PSSailpoint.V2024
```

The command installs the SailPoint PowerShell SDK module. You will be prompted to confirm that you want to install the module from 'PSGallery'. Enter "A" to say "Yes to All".

If you already have a version of the PowerShell SDK installed, you can install a new version side-by-side with it by adding the `-Force` parameter to the end of your `Install-Module` commmand:

```powershell
Install-Module -Name PSSailpoint -Force
Install-Module -Name PSSailpoint.Beta -Force
Install-Module -Name PSSailpoint.V3 -Force
Install-Module -Name PSSailpoint.V2024 -Force
```

To validate that the module is installed, run this command, `Get-Module -ListAvailable PSSailpoint`, and verify that the module is listed. Additionally, you can run this command, `Get-Command -Module PSSailpoint`, to see the available commands included in the module.

The SDK is now installed. To learn how to configure the SDK, refer to the [Configure section](#configure).


## TypeScript

The SailPoint CLI offers a few commands that will allow you to quickly get started with the Typescript SDK. To learn how to install and use the SailPoint CLI, refer to [SailPoint CLI](https://developer.sailpoint.com/idn/tools/cli#get-the-cli).

Once the CLI is installed and configured, run this command to create a new Typescript project with the Typescript SDK:

```bash
sail sdk init typescript typescript-example
```

Running the command creates the structure for your project:

```text
|-- typescript-example
|   |-- package.json
|   |-- src
|   |   |-- index.ts
|   |-- tsconfig.json
```

Navigate into your project folder and run this command to install the required dependencies:

```bash
npm install
```

The SDK is now installed. To learn how to configure the SDK, refer to the [Configure section](#configure).

## Configure

You must provide configuration to the SDK so it can authenticate to your SailPoint tenant and make API calls. To do so, you can either use a configuration file, "config.json", or environment variables.

### Configuration File

The SDK requires a configuration file to be named "config.json". Within the file, provide these key/value pairs: `ClientId`, `ClientSecret`, `BaseURL`.

The SailPoint CLI offers a command to generate the "config.json" file with your currently configured CLI credentials.

```bash
sail sdk init config
```

If you have multiple environments configured with the CLI, you can pass an additional parameter to state the environment you wish to create a "config.json" for. 

To pass an additional parameter that states the environment you want to configure, run this command: 

```bash
sail sdk init config --env devrel
```

#### Example "config.json"

```json
{
  "ClientId": "g0567b766b413b22c05c66e75d532f1b",
  "ClientSecret": "cabd0e950a7230b63c1ff45be33fb22065b382b6251a73c61177a8bb5482fcc7",
  "BaseURL": "https://[tenant].api.identitynow.com"
}
```