# Software Development Kits (SDKs)

Increase's [API](/documentation/api) can be accessed via SDKs for several popular languages. The SDKs are generated from our OpenAPI 3 [specification](/openapi.json). The JSON specification may be helpful if you are looking to use a language we haven't implemented yet!

Our APIs are stable but we're just getting started with these SDKs, so some things might change in future versions. If you find them useful or have feedback, [please let us know](mailto:support@increase.com)!

Using an SDK can speed up your integration by providing an implementation for pagination, serialization, timeouts, retries, and error handling.

# Breaking changes

We always preserve backwards compatibility in the Increase API per our [versioning policy](https://increase.com/documentation/backwards-compatibility). We'll never make a breaking change without explicitly contacting you first to make sure your integration won't be affected.

Our SDKs and OpenAPI specification are pre-1.0 and do not include deprecated fields that we're preserving for backwards compatibility. This means that if you're using a typed language, upgrading your SDK version can sometimes lead to type-checking errors in development. We encourage you to do this from time to time as an easy way to stay up-to-date with API changes.

Our API, however, is always backwards compatible with older versions of the SDKs. If you choose not to upgrade your SDK version, the code won't crash communicating with the API at runtime.

## Python

Install our Python SDK with `pip` or `uv`. The source is on [GitHub](https://github.com/Increase/increase-python). Request parameters, response bodies, and error details are all typed with mypy.

```shell
$ pip install increase
# or
$ uv add increase
```

## JavaScript/TypeScript

Install our TypeScript SDK with `npm`, `pnpm`, or `bun`. The source is on [GitHub](https://github.com/Increase/increase-typescript). Request parameters, response bodies, and error details are all typed with TypeScript.

```shell
$ npm install increase
# or
$ pnpm add increase
# or
$ bun add increase
```

## Ruby

Install our Ruby SDK with `gem`. The source is on [GitHub](https://github.com/Increase/increase-ruby).

```shell
$ gem install increase
```

## Go

Install our Go SDK with `go get`. The source is on [GitHub](https://github.com/Increase/increase-go).

```shell
$ go get 'github.com/increase/increase-go'
```

## Java

Install our Java SDK with Maven or Gradle. The source is on [GitHub](https://github.com/Increase/increase-java) and the dependency is stored on [Maven Central](https://central.sonatype.com/artifact/com.increase.api/increase-java). Each request and response object is fully specified as a Java class.

```xml
<!-- In your POM file. -->
<dependency>
    <groupId>com.increase.api</groupId>
    <artifactId>increase-java</artifactId>
    <version>0.500.0</version>
</dependency>
```

```groovy
// In your build.gradle file.
dependencies {
  implementation("com.increase.api:increase-java:0.500.0")
}
```

## PHP

Install our PHP SDK with `composer`. The source is on [GitHub](https://github.com/Increase/increase-php).

```shell
$ composer require increase/increase
```

## Kotlin

Install our Kotlin SDK with Maven or Gradle. The source is on [GitHub](https://github.com/Increase/increase-kotlin) and the dependency is stored on [Maven Central](https://central.sonatype.com/artifact/com.increase.api/increase-kotlin). Each request and response object is fully specified as a Kotlin class.

```xml
<!-- In your POM file. -->
<dependency>
    <groupId>com.increase.api</groupId>
    <artifactId>increase-kotlin</artifactId>
    <version>0.500.0</version>
</dependency>
```

```groovy
// In your build.gradle file.
dependencies {
  implementation("com.increase.api:increase-kotlin:0.500.0")
}
```

## C# / .NET

Install our C# SDK with the .NET CLI. The source is on [GitHub](https://github.com/Increase/increase-csharp) and the package is published to [NuGet](https://www.nuget.org/packages/Increase.Api). The library targets .NET Standard 2.0 and .NET 8.0. Each request and response object is fully specified as a C# class.

```shell
$ dotnet add package Increase.Api
```

```xml
<!-- Or in your .csproj file. -->
<PackageReference Include="Increase.Api" Version="0.43.1" />
```

## More coming soon!

[Let us know](mailto:support@increase.com) if there's another language we should support.
