configVersion: 2.0.0
generation:
  devContainers:
    enabled: true
    schemaPath: .speakeasy/out.openapi.yaml
  sdkClassName: OpenRouter
  maintainOpenAPIOrder: true
  usageSnippets:
    optionalPropertyRendering: never
    sdkInitStyle: constructor
  useClassNamesForArrayFields: true
  fixes:
    nameResolutionDec2023: true
    nameResolutionFeb2025: true
    parameterOrderingFeb2024: true
    requestResponseComponentNamesFeb2024: true
    securityFeb2025: true
    sharedErrorComponentsApr2025: true
  auth:
    oAuth2ClientCredentialsEnabled: true
    oAuth2PasswordEnabled: true
    hoistGlobalSecurity: true
  inferSSEOverload: true
  sdkHooksConfigAccess: true
  schemas:
    allOfMergeStrategy: shallowMerge
  requestBodyFieldName: ""
  tests:
    generateTests: false
    generateNewTests: true
    skipResponseBodyAssertions: false
  preApplyUnionDiscriminators: true
python:
  version: 0.0.17
  additionalDependencies:
    dev: {}
    main: {}
  allowedRedefinedBuiltins:
    - id
    - object
    - input
    - models
    - hash
  asyncMode: both
  authors:
    - OpenRouter
  baseErrorName: OpenRouterError
  clientServerStatusCodesAsErrors: true
  defaultErrorName: OpenRouterDefaultError
  description: Official Python Client SDK for OpenRouter.
  enableCustomCodeRegions: false
  enumFormat: union
  envVarPrefix: OPENROUTER
  fixFlags:
    asyncPaginationSep2025: true
    responseRequiredSep2024: true
  flattenGlobalSecurity: true
  flattenRequests: true
  flatteningOrder: parameters-first
  imports:
    option: openapi
    paths:
      callbacks: callbacks
      errors: errors
      operations: operations
      shared: components
      webhooks: webhooks
  inferSSEOverload: true
  inferUnionDiscriminators: true
  inputModelSuffix: input
  legacyPyright: false
  license: Apache-2.0
  maxMethodParams: 999
  methodArguments: infer-optional-args
  moduleName: ""
  multipartArrayFormat: legacy
  outputModelSuffix: output
  packageManager: uv
  packageName: openrouter
  pytestFilterWarnings: []
  pytestTimeout: 0
  responseFormat: flat
  sseFlatResponse: true
  templateVersion: v2
