{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/postman/main/json-schema/postman-create-sdk-schema.json", "title": "createSdk", "description": "**Note:**\n\n- Only the object passed in the request body that matches the value in the `language` property gets read, and all other objects are ignored.\n- The language option object is optional. When the language identifier is omitted, it's derived from the `source` element name and its workspace.\n", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/postman-sdks-api-openapi.yml#/components/schemas/createSdk", "type": "object", "properties": { "source": { "$ref": "#/$defs/sdkSource" }, "language": { "$ref": "#/$defs/sdkLanguage" }, "sdkVersion": { "type": "string", "description": "An optional override for the SDK version. If this isn't provided, the next version is resolved from the latest auto-pull request." }, "authors": { "type": "array", "items": { "$ref": "#/$defs/sdkAuthorData" }, "description": "A list of package authors written into the generated manifest." }, "retry": { "$ref": "#/$defs/sdkRetryOptions" }, "typescriptOptions": { "$ref": "#/$defs/typescriptOptions" }, "pythonOptions": { "$ref": "#/$defs/pythonOptions" }, "goOptions": { "$ref": "#/$defs/goOptions" }, "javaOptions": { "$ref": "#/$defs/javaOptions" }, "csharpOptions": { "$ref": "#/$defs/csharpOptions" }, "rubyOptions": { "$ref": "#/$defs/rubyOptions" }, "phpOptions": { "$ref": "#/$defs/phpOptions" }, "kotlinOptions": { "$ref": "#/$defs/kotlinOptions" }, "rustOptions": { "$ref": "#/$defs/rustOptions" }, "cliOptions": { "$ref": "#/$defs/cliOptions" } }, "required": [ "source", "language" ], "$defs": { "SdkRetryOptionsHttpMethodsToRetryItems": { "type": "string", "enum": [ "GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS", "CONNECT", "TRACE" ], "title": "SdkRetryOptionsHttpMethodsToRetryItems" }, "cliOptions": { "type": "object", "properties": { "goModuleName": { "type": "string", "description": "The Go module's path for the generated CLI." } }, "description": "CLI-specific SDK generation options.", "title": "cliOptions" }, "csharpOptions": { "type": "object", "properties": { "packageId": { "type": "string", "description": "The NuGet package's ID." } }, "description": "C#-specific SDK generation options.", "title": "csharpOptions" }, "elementType-2": { "type": "string", "enum": [ "collection", "spec" ], "description": "The type of Postman element.", "title": "elementType-2" }, "goOptions": { "type": "object", "properties": { "goModuleName": { "type": "string", "description": "The Go module path written into the `go.mod` definition file." } }, "description": "Go-specific SDK generation options.", "title": "goOptions" }, "httpCodesToRetry": { "type": "integer", "description": "An HTTP status code.", "title": "httpCodesToRetry" }, "javaOptions": { "type": "object", "properties": { "groupId": { "type": "string", "description": "The Maven group ID written into the `pom.xml` dependencies file." }, "artifactId": { "type": "string", "description": "The Maven artifact ID written into the `pom.xml` dependencies file." } }, "description": "Java-specific SDK generation options.", "title": "javaOptions" }, "kotlinOptions": { "type": "object", "properties": { "groupId": { "type": "string", "description": "The Maven group ID written into the `pom.xml` dependencies file." }, "artifactId": { "type": "string", "description": "The Maven artifact ID written into the `pom.xml` dependencies file." } }, "description": "Kotlin-specific SDK generation options.", "title": "kotlinOptions" }, "phpOptions": { "type": "object", "properties": { "packageName": { "type": "string", "description": "The composer package name, in `vendor/package` format." } }, "description": "PHP-specific SDK generation options.", "title": "phpOptions" }, "pythonOptions": { "type": "object", "properties": { "pypiPackageName": { "type": "string", "description": "The PyPI package's name." } }, "description": "Python-specific SDK generation options.", "title": "pythonOptions" }, "rubyOptions": { "type": "object", "properties": { "gemName": { "type": "string", "description": "The RubyGems gem's name." } }, "description": "Ruby-specific generation options.", "title": "rubyOptions" }, "rustOptions": { "type": "object", "properties": { "packageName": { "type": "string", "description": "The crates.io package's name." } }, "description": "Rust-specific SDK generation options.", "title": "rustOptions" }, "sdkAuthorData": { "type": "object", "properties": { "name": { "type": "string", "description": "The author's name." }, "email": { "type": "string", "format": "email", "description": "The author's email address." } }, "required": [ "name" ], "description": "Information about the author of the generated SDK.", "title": "sdkAuthorData" }, "sdkLanguage": { "type": "string", "enum": [ "typescript", "python", "go", "java", "csharp", "ruby", "php", "kotlin", "rust", "cli" ], "description": "The target output language for the generated SDK.", "title": "sdkLanguage" }, "sdkRetryOptions": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true, "description": "If true, the generated SDK includes retry behavior." }, "maxAttempts": { "type": "integer", "default": 3, "description": "The maximum number of attempts to try before giving up." }, "retryDelay": { "type": "integer", "default": 150, "description": "The base wait between attempts, in milliseconds." }, "maxDelay": { "type": "integer", "description": "The maximum wait between attempts, in milliseconds." }, "backOffFactor": { "type": "number", "format": "double", "description": "The exponent base used to compute exponential backoff between attempts." }, "retryDelayJitter": { "type": "integer", "description": "The maximum random jitter added to wait times, in milliseconds." }, "httpCodesToRetry": { "type": "array", "items": { "$ref": "#/$defs/httpCodesToRetry" }, "description": "A list of HTTP status codes that the SDK attempts its retries on." }, "httpMethodsToRetry": { "type": "array", "items": { "$ref": "#/$defs/SdkRetryOptionsHttpMethodsToRetryItems" }, "description": "A list of the HTTP methods that the SDK attempts its retries on." } }, "required": [ "retryDelay" ], "description": "Retry behavior baked into the generated SDK's HTTP client. A power-user option; sensible defaults apply for any field left unset.", "title": "sdkRetryOptions" }, "sdkSource": { "type": "object", "properties": { "type": { "$ref": "#/$defs/elementType-2" }, "id": { "type": "string", "description": "The ID of the Postman Collection or specification in Postman." } }, "required": [ "type", "id" ], "description": "The collection or specification that the SDK is generated from.", "title": "sdkSource" }, "typescriptOptions": { "type": "object", "properties": { "npmOrg": { "type": "string", "description": "An npm organization's scope. Don't include a trailing slash." }, "npmName": { "type": "string", "description": "The unscoped npm package's name." } }, "description": "TypeScript-specific SDK generation options.", "title": "typescriptOptions" } } }