***

title: Postman SDK language options
max-toc-depth: 2
topictype: reference
---------------------

For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://learning.postman.com/llms.txt. For full content including API reference and SDK examples, see https://learning.postman.com/llms-full.txt.

Postman SDKs are generated in multiple programming languages to provide seamless integration with your applications. Each language has specific configuration options that allow you to customize the SDK to fit your development environment and preferences. Learn about the available options for each supported language below.

Postman SDKs also include built-in [analytics capabilities](#analytics) that help you monitor and observe API interactions in your applications. They use industry-standard OpenTelemetry (OTLP) for distributed tracing, providing deep insights into HTTP requests, responses, and errors.

## TypeScript

These options are specific to the TypeScript SDKs.

### Options

<ParamField path="npmOrg">
  Set the scope for the npm package name.
</ParamField>

<ParamField path="npmName">
  Set the name for the npm package.
</ParamField>

<ParamField path="httpClient" type="axios, fetch, or https" default="fetch">
  Set the HTTP client for the SDK. Choose between [Axios](https://axios-http.com/), [Fetch](https://www.npmjs.com/package/@types/node-fetch), or the [Node HTTPS module](https://nodejs.org/api/https.html), depending on your preference or requirements.
</ParamField>

<ParamField path="bundle" type="boolean" default="false">
  Set to `true` configures the TypeScript SDK so that it can be bundled using [tsup](https://tsup.egoist.dev/). This is required if you want to use the SDK in a browser environment, and it can also be used in Node.js environments. When set to `true`, the generated SDK will include a `bundle` script in the `package.json` file that uses tsup to create a bundled version of the SDK.
</ParamField>

<ParamField path="exportClassDefault" type="boolean" default="false">
  Determine whether to export the main SDK class as the default export. By default, the main SDK class is exported as a named export. Setting `exportClassDefault` to `true` changes this behavior so that the main SDK class is exported as the default export, which can simplify imports in some cases.
</ParamField>

## Java

These options are specific to the Java SDKs.

### Options

<ParamField path="groupId">
  Set the group ID for the Java package. This is set as the `groupId` in the `pom.xml` file, as well as being used to define the namespace for the SDK classes.
</ParamField>

<ParamField path="artifactId">
  Set the artifact ID for the Java package. This is set as the `artifactId` in the `pom.xml` file, as well as being used to define the name of the main SDK class.
</ParamField>

<ParamField path="developers" type="array of objects">
  Set the developers for the Java package. This is set as the `developers` in the `pom.xml` file, as well as being used to define the developers of the SDK. The options for each developer are `name`, `email`, `organization`, and `organizationUrl`. The `organizationUrl` can be used to link to the developer's organization, such as a GitHub profile or company website.
</ParamField>

## Kotlin

These options are specific to the Kotlin SDKs.

### Options

<ParamField path="groupId">
  Set the group ID for the Kotlin package. This is set as the `groupId` in the `pom.xml` file, as well as being used to define the namespace for the SDK classes.
</ParamField>

<ParamField path="artifactId">
  Set the artifact ID for the Kotlin package. This is used for the published artifact name and to define the name of the main SDK class.
</ParamField>

<ParamField path="developers" type="array of objects">
  Set the developers for the Kotlin package. This is used in the Maven publication configuration in `build.gradle.kts`, as well as being used to define the developers of the SDK. The options for each developer are `name`, `email`, `organization`, and `organizationUrl`. The `organizationUrl` can be used to link to the developer's organization, such as a GitHub profile or company website.
</ParamField>

## Python

These options are specific to the Python SDKs.

### Options

<ParamField path="name">
  Set the name of the PyPI package to publish to. This is set in the `pyproject.toml` file, and is used when publishing the SDK to PyPI.
</ParamField>

<ParamField path="version" default="1.0.0">
  Set the version of the Python package. This is set in the `pyproject.toml` file, and is used when publishing the SDK to PyPI.
</ParamField>

<ParamField path="description">
  Set the description of the Python package. This is set in the `pyproject.toml` file, and is used when publishing the SDK to PyPI.
</ParamField>

<ParamField path="readme">
  Set the path to the README file for the Python package. This is set in the `pyproject.toml` file, and is used when publishing the SDK to PyPI. This should be a path to a file that contains the long description of the package, which is typically the README file. The content of this file is used as the long description on the PyPI package page.
</ParamField>

<ParamField path="requires-python" default=">=3.8">
  Set the Python version requirement for the package. This is set in the `pyproject.toml` file, and is used when publishing the SDK to PyPI. This should be a string that specifies the minimum Python version required, such as `>=3.8`.
</ParamField>

<ParamField path="license" type="string">
  Set the license for the Python package. This is set in the `pyproject.toml` file, and is used when publishing the SDK to PyPI. This should be a string that specifies the license for the package, such as `license = {text = "MIT"}`, `license = {text = "Apache-2.0"}`, or `license = {text = "GPL-3.0"}`. This information is important for users of the SDK to understand the terms under which they can use and distribute the package.
</ParamField>

<ParamField path="authors" type="array of objects">
  Set the authors for the Python package. This is set in the `pyproject.toml` file, and is used when publishing the SDK to PyPI. Each author should have a `name` and `email`, which are used to define the authors of the package on PyPI.
</ParamField>

<ParamField path="keywords" type="array of strings">
  Set the keywords for the Python package. This is set in the `pyproject.toml` file, and is used when publishing the SDK to PyPI. Keywords are used to help users find the package on PyPI when searching for related topics.
</ParamField>

<ParamField path="classifiers" type="array of strings">
  Set the [classifiers](https://pypi.org/classifiers/) for the Python package. This is set in the `pyproject.toml` file, and is used when publishing the SDK to PyPI. Classifiers are used to provide metadata about the package, such as the intended audience, license, programming language, and more. This information helps users understand the compatibility and purpose of the package.
</ParamField>

## C\#

These options are specific to the C# SDKs.

### Options

<ParamField path="packageId">
  Set the NuGet package ID and root C# namespace for the SDK. This value is used as the root namespace for all generated classes (`Config`, `Models`, `Services`, and so on) and as the `<PackageId>` in the `.csproj` file. Defaults to the PascalCase form of the SDK name.
</ParamField>

<ParamField path="authors" type="array of objects">
  Set the authors for the SDK package. Each entry supports a `name` (required) and an optional `email`. The author names are written to the `<Authors>` field in the `.csproj` file.
</ParamField>

<ParamField path="homepage">
  Set the homepage URL for the SDK package. Written to the `<PackageProjectUrl>` field in the `.csproj` file.
</ParamField>

## Go

These options are specific to the Go SDKs.

### Options

<ParamField path="goModuleName" required={true}>
  Set the Go module path for the SDK. This value is written to go.mod as the module declaration and is used in all internal package import paths throughout the generated code (for example, `github.com/your-org/your-sdk`). If you intend to publish the module publicly, the path must match the repository URL so that `go get` can resolve it correctly.
</ParamField>

<ParamField path="homepage">
  Set the homepage URL for the SDK. Written into the generated `README.md`.
</ParamField>

## PHP

These options are specific to the PHP SDKs.

### Options

<ParamField path="packageName" required={true}>
  Set the Composer package name for the SDK (for example, `your-org/your-sdk`). This value is written to `composer.json` as the name field and is used when publishing the package to Packagist.
</ParamField>

<ParamField path="authors" type="array of objects">
  Set the authors for the SDK package. Each entry supports a `name` (required) and an optional `email`. Author information is serialized into the `authors` array in `composer.json`.
</ParamField>

<ParamField path="homepage">
  Set the homepage URL for the SDK package. Written to the `homepage` field in `composer.json`.
</ParamField>

## Ruby

These options are specific to the Ruby SDKs.

### Options

<ParamField path="version" default="1.0.0">
  Set the version of the Ruby gem. This is set in the gemspec file and is used when publishing the SDK to RubyGems.
</ParamField>

<ParamField path="description">
  Set the description of the Ruby gem. This is set in the gemspec file and is used when publishing the SDK to RubyGems.
</ParamField>

<ParamField path="authors" type="array of objects">
  Set the authors for the Ruby gem. Each entry supports a `name` (required) and an optional `email`. The author names are written to the `authors` field in the gemspec file.
</ParamField>

<ParamField path="homepage">
  Set the homepage URL for the Ruby gem. Written to the `homepage` field in the gemspec file.
</ParamField>

<ParamField path="license" default="MIT">
  Set the license for the Ruby gem. This is set in the gemspec file and is used when publishing the SDK to RubyGems. Common values include `MIT`, `Apache-2.0`, or `GPL-3.0`.
</ParamField>

## Analytics

You can customize the `analytics` behavior to match your observability requirements using the following parameters:

### Options

<ParamField path="endpoint" type="string" default="http://localhost:4318/v1/traces">
  OTLP endpoint URL for trace data.
</ParamField>

<ParamField path="exporter" type="string" default="console">
  The `'otlp-http'` or `'console'` exporter type.
</ParamField>

<ParamField path="headers" type="object" default="{}">
  Custom HTTP headers for authentication.
</ParamField>

<ParamField path="batchSize" type="number" default="5">
  Maximum spans per batch.
</ParamField>

<ParamField path="scheduledDelayMillis" type="number" default="3000">
  Delay between batch exports (milliseconds).
</ParamField>

<ParamField path="exportTimeoutMillis" type="number" default="30000">
  Timeout for export operations (milliseconds).
</ParamField>