Postman SDK language options

View as Markdown

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 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

npmOrg

Set the scope for the npm package name.

npmName

Set the name for the npm package.

httpClient
axios, fetch, or httpsDefaults to fetch

Set the HTTP client for the SDK. Choose between Axios, Fetch, or the Node HTTPS module, depending on your preference or requirements.

bundle
booleanDefaults to false

Set to true configures the TypeScript SDK so that it can be bundled using tsup. 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.

exportClassDefault
booleanDefaults to 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.

Java

These options are specific to the Java SDKs.

Options

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.

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.

developers
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.

Python

These options are specific to the Python SDKs.

Options

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.

version
Defaults to 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.

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.

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.

requires-python
Defaults to >=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.

license
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.

authors
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.

keywords
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.

classifiers
array of strings

Set the 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.

C#

These options are specific to the C# SDKs.

Options

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.

authors
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.

homepage

Set the homepage URL for the SDK package. Written to the <PackageProjectUrl> field in the .csproj file.

Go

These options are specific to the Go SDKs.

Options

goModuleName
Required

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.

homepage

Set the homepage URL for the SDK. Written into the generated README.md.

PHP

These options are specific to the PHP SDKs.

Options

packageName
Required

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.

authors
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.

homepage

Set the homepage URL for the SDK package. Written to the homepage field in composer.json.

Analytics

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

Options

endpoint
stringDefaults to http://localhost:4318/v1/traces

OTLP endpoint URL for trace data.

exporter
stringDefaults to console

The 'otlp-http' or 'console' exporter type.

headers
objectDefaults to {}

Custom HTTP headers for authentication.

batchSize
numberDefaults to 5

Maximum spans per batch.

scheduledDelayMillis
numberDefaults to 3000

Delay between batch exports (milliseconds).

exportTimeoutMillis
numberDefaults to 30000

Timeout for export operations (milliseconds).