Type object
File match liblab.config.json *.liblab.config.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/liblab-config-json/latest.json
Source https://cdn.jsdelivr.net/npm/liblab@latest/liblab.config.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

The liblab Configuration File

Properties

specFilePath string required

A local relative path to your specification file or a publicly reachable URL to the spec file

minLength=1
languages string[] required

The list of languages you want to generate SDKs for

sdkName string

The name of your SDK

minLength=1
apiVersion string

version of your API

apiName string

name of your API

createDocs boolean

Should developer documentation be generated? docs are supported for: java, python and typescript

Default: false
workflows object

The workflow configuration

2 nested properties
path string required

A local relative path to your arrazo specification file or a publicly reachable URL to the arrazo spec file

outputName string

The desired output name for the workflow

docs string[]

Should API documentation or code snippets be generated?

auth string[]
customizations object

Customizations to SDKs

18 nested properties
authentication object
Default:
{}
5 nested properties
access object
1 nested properties
prefix string

The prefix to use for the access authentication

Default: ""
apiKey object
1 nested properties
header string

The header to use for the api key authentication

Default: ""
basic object
1 nested properties
enabled boolean required
custom object
1 nested properties
prefix string

The prefix to use for the custom authentication

Default: ""
oauth object
5 nested properties
enabled boolean

Enable oauth authentication

Default: false
basic boolean

Use basic authentication for the oauth token

Default: false
tokenEndpoint object
securityScheme object

The security scheme definition for the oauth

refreshBuffer number

The buffer time in milliseconds before the token expires to refresh it

Default: 1000
min=0
documentation object
2 nested properties
snippets object
1 nested properties
format string

The format of the documentation code snippets

Default: "md"
Values: "md" "json"
enhancedApiSpec object
2 nested properties
customOutputName string

Name of the output file, will default to enhancedApiSpec.json

includeOauthEndpoints boolean

Whether to include OAuth endpoints in the enhanced API documentation. Note that the SDK handles calling these endpoints.

Default: false
devContainer boolean

Should example dev container files be generated?

Default: true
environmentVariables object[]
endpointCustomizations object | string | string

Customizations for specific endpoints

environments object[]
generateEnv boolean

Should example .env files be generated?

Default: true
hookDependencies object[]
includeOptionalSnippetParameters boolean

toggles whether optional parameters are included in code snippets in generated SDK documentation.

Default: true
inferServiceNames boolean

Should the SDKs infer service names?

Default: false
injectedModels string[]

A list of all custom models paths

license object

Optional configuration for licensing the SDKs

2 nested properties
type string

What license should the SDKs be covered under?

Default: "NONE"
Values: "MIT" "GPL3" "APACHE" "NONE" "CUSTOM"
url string

URL for a CUSTOM license

format=uri
refreshToken object

The parameters for the refresh token system

3 nested properties
bearerKey string required

The key to use for the bearer token

endpoint string required

The endpoint to use for refreshing the token

refreshKey string required

The key to use for the refresh token

responseHeaders boolean

Should the SDKs return a response with both the data and headers?

Default: false
buildAllModels boolean

Should unreferenced models be built?

Default: false
retry object

Retry functionality customization

8 nested properties
retryDelay number required

How long should the SDKs wait between attempts in milliseconds?

backOffFactor number

What is the exponent base used to calulate wait times?

exclusiveMin=0
enabled boolean

Should the SDKs include retry behavior?

httpCodesToRetry integer[]

What HTTP codes should the SDKs retry on?

httpMethodsToRetry string[]

What HTTP methods should the SDKs retry on?

maxAttempts number

How many attempts should the SDKs make before giving up?

maxDelay number

What is the maximum time between attempts in milliseconds?

min=0
retryDelayJitter number

What is the maximum random jitter applied to wait times in milliseconds?

min=0
readme object
1 nested properties
apiDescription string

Overwrites the SDK README description

deprecatedOperations object
1 nested properties
include boolean required

Whether to include deprecated operations in the SDKs

baseUrl string

The Base URL of your SDK

minLength=1
languageOptions object

Language specific options

9 nested properties
csharp object

C# specific options

12 nested properties
packageId string

The PackageId of your C# SDK. It identifies your NuGet package.

useOptionalWrapper boolean

Enable Optional wrapper for distinguishing between "not provided" and "explicitly null" values

Default: false
validateResponses boolean

Enable response validation to check for missing required fields and invalid null values

Default: false
authors object[]

The list of authors who contribute to the SDK (In TypeScript the first is the only one displayed)

githubRepoName string

The name of the Github Repo that will be Pull Requested to

homepage string
format=uri
hookDependencies items[]
ignoreFiles string[]

List of files that shouldn't be produced by liblab, used for when you want to keep specific files safe from changes

liblabVersion string

The version of the liblab SDK Generator

pattern=^(\d+)$
renameIllegalModelProperties boolean

renames all model properties with illegal names, during the SDK generation

sdkVersion string

The version of the SDK

targetBranch string

The target to branch off from when opening a PR, if not specified will default to main branch

minLength=2
go object

go specific options

11 nested properties
goModuleName string required

The name of the go module

additionalConstructorParameters object[]

Additional variables to include in the constructor and access in the hooks

authors object[]

The list of authors who contribute to the SDK (In TypeScript the first is the only one displayed)

githubRepoName string

The name of the Github Repo that will be Pull Requested to

homepage string
format=uri
hookDependencies items[]
ignoreFiles string[]

List of files that shouldn't be produced by liblab, used for when you want to keep specific files safe from changes

liblabVersion string

The version of the liblab SDK Generator

pattern=^(\d+)$
renameIllegalModelProperties boolean

renames all model properties with illegal names, during the SDK generation

sdkVersion string

The version of the SDK

targetBranch string

The target to branch off from when opening a PR, if not specified will default to main branch

minLength=2
java object

Java specific options

15 nested properties
groupId string

The groupId of the Java package

packageName string

The name of the Java package

artifactId string

The artifactId of the Java package

includeKotlinSnippets boolean

Include Kotlin snippets and documentation in the generated SDK

Default: false
developers object[]

The developers' information to add to pom.xml for project association

additionalConstructorParameters object[]

Additional variables to include in the constructor and access in the hooks

authors object[]

The list of authors who contribute to the SDK (In TypeScript the first is the only one displayed)

githubRepoName string

The name of the Github Repo that will be Pull Requested to

homepage string
format=uri
hookDependencies items[]
ignoreFiles string[]

List of files that shouldn't be produced by liblab, used for when you want to keep specific files safe from changes

liblabVersion string

The version of the liblab SDK Generator

pattern=^(\d+)$
renameIllegalModelProperties boolean

renames all model properties with illegal names, during the SDK generation

sdkVersion string

The version of the SDK

targetBranch string

The target to branch off from when opening a PR, if not specified will default to main branch

minLength=2
python object

Python specific options

16 nested properties
alwaysInitializeOptionals boolean
Default: true
classifiers string[]
enforceRequestValidation boolean

Should the Python SDK enforce request validation?

Default: false
additionalConstructorParameters object[]

Additional variables to include in the constructor and access in the hooks

projectUrls Record<string, string>
pypiPackageName string

The name of the Python project

strictVersion boolean

Should the version be strict?

Default: false
authors object[]

The list of authors who contribute to the SDK (In TypeScript the first is the only one displayed)

githubRepoName string

The name of the Github Repo that will be Pull Requested to

homepage string
format=uri
hookDependencies items[]
ignoreFiles string[]

List of files that shouldn't be produced by liblab, used for when you want to keep specific files safe from changes

liblabVersion string

The version of the liblab SDK Generator

pattern=^(\d+)$
renameIllegalModelProperties boolean

renames all model properties with illegal names, during the SDK generation

sdkVersion string

The version of the SDK

targetBranch string

The target to branch off from when opening a PR, if not specified will default to main branch

minLength=2
php object

PHP specific options

11 nested properties
packageName string

The name of the composer package

Default: "company/sdk"
pattern=^[0-9a-z]([._-]?[0-9a-z]+)*\/[0-9a-z](([._]|-{1,2})?[0-9a-z]+)*$
additionalConstructorParameters object[]

Additional variables to include in the constructor and access in the hooks

authors object[]

The list of authors who contribute to the SDK (In TypeScript the first is the only one displayed)

githubRepoName string

The name of the Github Repo that will be Pull Requested to

homepage string
format=uri
hookDependencies items[]
ignoreFiles string[]

List of files that shouldn't be produced by liblab, used for when you want to keep specific files safe from changes

liblabVersion string

The version of the liblab SDK Generator

pattern=^(\d+)$
renameIllegalModelProperties boolean

renames all model properties with illegal names, during the SDK generation

sdkVersion string

The version of the SDK

targetBranch string

The target to branch off from when opening a PR, if not specified will default to main branch

minLength=2
swift object

Swift specific options

9 nested properties
authors object[]

The list of authors who contribute to the SDK (In TypeScript the first is the only one displayed)

githubRepoName string

The name of the Github Repo that will be Pull Requested to

homepage string
format=uri
hookDependencies items[]
ignoreFiles string[]

List of files that shouldn't be produced by liblab, used for when you want to keep specific files safe from changes

liblabVersion string

The version of the liblab SDK Generator

pattern=^(\d+)$
renameIllegalModelProperties boolean

renames all model properties with illegal names, during the SDK generation

sdkVersion string

The version of the SDK

targetBranch string

The target to branch off from when opening a PR, if not specified will default to main branch

minLength=2
terraform object

terraform provider specific options

15 nested properties
providerGoModuleName string required

The name of the go module used in the terraform provider module

providerName string required

The name of the terraform provider module

providerVersion string required

The version of the terraform provider module

hideComputedDiff boolean

Should the terraform provider hide computed diff? Default is false

Default: false
mockAcceptance boolean

Should the terraform provider mock acceptance tests? Default is true

Default: true
providerSchemaConfig object
2 nested properties
addressKey string
authTokenKey string
authors object[]

The list of authors who contribute to the SDK (In TypeScript the first is the only one displayed)

githubRepoName string

The name of the Github Repo that will be Pull Requested to

homepage string
format=uri
hookDependencies items[]
ignoreFiles string[]

List of files that shouldn't be produced by liblab, used for when you want to keep specific files safe from changes

liblabVersion string

The version of the liblab SDK Generator

pattern=^(\d+)$
renameIllegalModelProperties boolean

renames all model properties with illegal names, during the SDK generation

sdkVersion string

The version of the SDK

targetBranch string

The target to branch off from when opening a PR, if not specified will default to main branch

minLength=2
typescript object

TypeScript specific options

18 nested properties
bundle boolean

Should the SDKs be bundled?

Default: true
denoteCommon boolean

Should the SDK mark common models with the Common postfix? (Useful when conflicts occur)

Default: false
exportClassDefault boolean

Should the SDK export the main class as default?

Default: false
httpClient string

The HTTP client to use

Default: "fetch"
Values: "axios" "fetch" "https"
npmName string

The NPM package name to publish to

npmOrg string

The NPM organization to publish to

additionalConstructorParameters object[]

Additional variables to include in the constructor and access in the hooks

authors object[]

The list of authors who contribute to the SDK (In TypeScript the first is the only one displayed)

githubRepoName string

The name of the Github Repo that will be Pull Requested to

homepage string
format=uri
hookDependencies items[]
ignoreFiles string[]

List of files that shouldn't be produced by liblab, used for when you want to keep specific files safe from changes

liblabVersion string

The version of the liblab SDK Generator

pattern=^(\d+)$
renameIllegalModelProperties boolean

renames all model properties with illegal names, during the SDK generation

sdkVersion string

The version of the SDK

targetBranch string

The target to branch off from when opening a PR, if not specified will default to main branch

minLength=2
generateEnumAs string
Default: "enum"
Values: "union" "enum"
namingStrategy string
Values: "default" "originalPropertyNames"
mcp object

TypeScript specific options

18 nested properties
bundle boolean

Should the SDKs be bundled?

Default: true
denoteCommon boolean

Should the SDK mark common models with the Common postfix? (Useful when conflicts occur)

Default: false
exportClassDefault boolean

Should the SDK export the main class as default?

Default: false
httpClient string

The HTTP client to use

Default: "fetch"
Values: "axios" "fetch" "https"
npmName string

The NPM package name to publish to

npmOrg string

The NPM organization to publish to

additionalConstructorParameters object[]

Additional variables to include in the constructor and access in the hooks

authors object[]

The list of authors who contribute to the SDK (In TypeScript the first is the only one displayed)

githubRepoName string

The name of the Github Repo that will be Pull Requested to

homepage string
format=uri
hookDependencies items[]
ignoreFiles string[]

List of files that shouldn't be produced by liblab, used for when you want to keep specific files safe from changes

liblabVersion string

The version of the liblab SDK Generator

pattern=^(\d+)$
renameIllegalModelProperties boolean

renames all model properties with illegal names, during the SDK generation

sdkVersion string

The version of the SDK

targetBranch string

The target to branch off from when opening a PR, if not specified will default to main branch

minLength=2
generateEnumAs string
Default: "enum"
Values: "union" "enum"
namingStrategy string
Values: "default" "originalPropertyNames"
mcp object

MCP server options

1 nested properties
generate boolean

Should mcp server be generated?

Default: false
liblabVersion string

The version of the liblab SDK Generator

pattern=^(\d+)$
publishing object

Publishing options

1 nested properties
githubOrg string required

The GitHub organization to publish to

validationsToIgnore object[]
integrations object
1 nested properties
enhancedApiSpec object

API documentation integration object

6 nested properties
githubRepoName string required

The name of the Github Repo that will be Pull Requested to

provider string required

Selecting the provider will enable the liblab service to generate the required files for your integration provider

Values: "mintlify" "redocly" "readmeIO"
targetBranch string

The target to branch off from when opening a PR, if not specified will default to main branch

minLength=2
redocly object
1 nested properties
openapiPath string
readmeIO object
1 nested properties
openapiPath string
mintlify object
1 nested properties
codeSamplesLanguages string[]

Selecting the languages to enhance and include in the mintlify integration. The selected languages will override the languages shown in the mintlify UI.