SDK Metadata
The sdk and spec sections define your SDK’s identity and source specification.
SDK Section
Section titled “SDK Section”The sdk section defines package metadata used across all generated SDKs.
sdk: name: my-sdk version: 1.0.0 description: SDK for My APIProperties
Section titled “Properties”| Property | Required | Type | Description |
|---|---|---|---|
name | Yes | string | Base package name |
version | Yes | string | Semantic version (e.g., 1.0.0) |
description | No | string | Package description |
Name Transformation
Section titled “Name Transformation”The sdk.name is transformed for each target language:
sdk.name | TypeScript | Python | Go | Java |
|---|---|---|---|---|
my-sdk | my-sdk | my_sdk | mysdk | my-sdk |
acme-api | acme-api | acme_api | acmeapi | acme-api |
Version
Section titled “Version”Use semantic versioning for your SDK version:
sdk: version: 1.2.3 # Standard version: 1.0.0-beta.1 # Pre-release version: 2.0.0-rc.1 # Release candidateThe version is used in:
package.jsonfor TypeScriptpyproject.tomlfor Pythongo.modfor Gopom.xmlfor Java
Spec Section
Section titled “Spec Section”The spec section defines where to find your OpenAPI specification.
spec: path: ./openapi.yamlProperties
Section titled “Properties”| Property | Required | Type | Description |
|---|---|---|---|
path | Yes* | string | Local path to OpenAPI spec |
origin | No | string | Remote URL for spec |
*Either path or origin must be provided.
Local Specification
Section titled “Local Specification”Reference a local OpenAPI file:
spec: path: ./openapi.yaml # YAML format # path: ./openapi.json # JSON format # path: ./specs/api.yaml # SubdirectoryPaths are relative to the soxom.yaml location.
Remote Specification
Section titled “Remote Specification”Fetch specification from a URL:
spec: origin: https://api.example.com/openapi.yamlWhen using origin:
- Soxom fetches the spec at generation time
- Supports HTTP and HTTPS
- Supports YAML and JSON formats
- Caches locally for offline use
Combined Usage
Section titled “Combined Usage”Use both for local development with remote source of truth:
spec: path: ./openapi.yaml # Local cache origin: https://api.example.com/openapi.yaml # Canonical sourceWhen spec.origin is set, Soxom re-fetches the spec on every build, so the SDK always reflects the canonical source. No manual refresh step is needed — push to the Config Repository to build automatically, or trigger a build from the Builds view in the dashboard.
Supported Formats
Section titled “Supported Formats”| Format | Extensions | Support |
|---|---|---|
| OpenAPI 3.1 | .yaml, .yml, .json | Supported — see compatibility matrix for per-feature coverage |
| OpenAPI 3.0 | .yaml, .yml, .json | Full |
| OpenAPI 2.0 (Swagger) | - | Not supported |
Examples
Section titled “Examples”Minimal Configuration
Section titled “Minimal Configuration”version: "1.0"
sdk: name: my-sdk version: 1.0.0
spec: path: ./openapi.yaml
targets: - typescriptFull Metadata
Section titled “Full Metadata”version: "1.0"
sdk: name: acme-platform-sdk version: 2.1.0 description: | Official SDK for the Acme Platform API. Provides access to users, orders, and payments.
spec: path: ./api/openapi.yaml origin: https://api.acme.com/v2/openapi.yaml
targets: typescript: package_name: "@acme/platform-sdk" python: package_name: acme-platform-sdk