Errors & Troubleshooting
Guide to common Soxom errors and how to resolve them.
Configuration Errors
Section titled “Configuration Errors”SOXOM001: Config file not found
Section titled “SOXOM001: Config file not found”Error: SOXOM001 - Configuration file not found Path: ./soxom.yamlCause: Soxom cannot find soxom.yaml at the root of the Config Repository.
Solution:
- Ensure
soxom.yamlis committed to the root of the Config Repository (not a subdirectory). - Push the fix to the Config Repository — the build retries automatically. To re-run an existing build, click Retry in the Builds view or
POST /api/v1/projects/:projectId/sdk-targets/:id/sdk-builds/:buildId/retry.
SOXOM002: Invalid config syntax
Section titled “SOXOM002: Invalid config syntax”Error: SOXOM002 - Invalid YAML syntax in soxom.yaml Line 15: unexpected key "sdks"Cause: YAML syntax error or invalid key.
Solution:
- Check YAML syntax (indentation, colons)
- Verify key names match reference
- Detailed errors appear in the Builds view of the Soxom dashboard
SOXOM003: Missing required field
Section titled “SOXOM003: Missing required field”Error: SOXOM003 - Missing required field Field: sdk.nameCause: Required configuration field is missing.
Solution: Add the required field to your config:
sdk: name: my-sdk # Required version: 1.0.0 # RequiredSOXOM004: Invalid target language
Section titled “SOXOM004: Invalid target language”Error: SOXOM004 - Invalid target language Target: "ruby" Valid targets: typescript, python, go, javaCause: Specified target language is not supported.
Solution: Use a supported language:
targets: - typescript - python - go - javaOpenAPI Spec Errors
Section titled “OpenAPI Spec Errors”SOXOM101: Spec file not found
Section titled “SOXOM101: Spec file not found”Error: SOXOM101 - OpenAPI spec not found Path: ./openapi.yamlCause: Cannot find the OpenAPI specification file.
Solution:
- Verify the path in
spec.path - Check file exists and is readable
SOXOM102: Invalid OpenAPI version
Section titled “SOXOM102: Invalid OpenAPI version”Error: SOXOM102 - Unsupported OpenAPI version Found: 2.0 (Swagger) Supported: 3.0, 3.1Cause: Soxom only supports OpenAPI 3.0 and 3.1.
Solution: Convert your Swagger 2.0 spec to OpenAPI 3.x:
- Use Swagger Editor
- Use
swagger2openapiCLI tool
SOXOM103: Invalid spec syntax
Section titled “SOXOM103: Invalid spec syntax”Error: SOXOM103 - Invalid OpenAPI syntax Line 42: invalid $ref formatCause: OpenAPI spec has syntax or structure errors.
Solution:
- Validate spec with Swagger Editor
- Check $ref paths are correct
- Ensure all required fields present
SOXOM104: Unresolved reference
Section titled “SOXOM104: Unresolved reference”Error: SOXOM104 - Unresolved $ref Reference: #/components/schemas/User Location: paths./users.get.responses.200Cause: A $ref points to a schema that doesn’t exist.
Solution:
- Check the schema name is correct
- Ensure schema is defined in
components/schemas - Verify path is correct (case-sensitive)
SOXOM105: Circular reference
Section titled “SOXOM105: Circular reference”Error: SOXOM105 - Circular reference detected Path: User → UserProfile → UserCause: Schemas reference each other in a cycle.
Solution: Break the cycle using a different schema design:
# Instead of direct circular referenceUser: properties: profile: $ref: '#/components/schemas/UserProfile'
UserProfile: properties: user: $ref: '#/components/schemas/User' # Circular!
# Use ID reference insteadUserProfile: properties: user_id: type: string # Reference by ID, not embeddedGeneration Errors
Section titled “Generation Errors”SOXOM201: Resource not found
Section titled “SOXOM201: Resource not found”Error: SOXOM201 - Operation not found Resource: users Method: list Operation: get /usersCause: Configured operation doesn’t exist in spec.
Solution:
- Verify the path and HTTP method
- Check for typos in
soxom.yaml - Ensure operation exists in OpenAPI spec
SOXOM202: Model not found
Section titled “SOXOM202: Model not found”Error: SOXOM202 - Schema not found Resource: users Model: UserCreateCause: Referenced model doesn’t exist in spec.
Solution:
- Check schema name in
components/schemas - Names are case-sensitive
- Remove from
modelslist if not needed
SOXOM203: Naming conflict
Section titled “SOXOM203: Naming conflict”Error: SOXOM203 - Naming conflict Name: "Status" used by multiple schemas Schemas: UserStatus, OrderStatusCause: Multiple schemas generate the same type name.
Solution: Rename schemas to be unique:
# BeforeUserStatus: type: stringOrderStatus: type: string
# Both become "Status" in some languagesSOXOM204: Invalid method mapping
Section titled “SOXOM204: Invalid method mapping”Error: SOXOM204 - Invalid method mapping Method: list: "get/users" Expected format: "<http-method> <path>"Cause: Method mapping syntax is incorrect.
Solution: Use correct format with space separator:
methods: list: get /users # Correct create: post /users # CorrectRuntime Errors (Generated SDK)
Section titled “Runtime Errors (Generated SDK)”Connection Errors
Section titled “Connection Errors”Error: ConnectionError - Unable to connect URL: https://api.example.comSolutions:
- Check network connectivity
- Verify API URL is correct
- Check firewall/proxy settings
Authentication Errors
Section titled “Authentication Errors”Error: AuthenticationError - 401 UnauthorizedSolutions:
- Verify token/credentials are correct
- Check token hasn’t expired
- Ensure correct auth method configured
Rate Limit Errors
Section titled “Rate Limit Errors”Error: RateLimitError - 429 Too Many Requests Retry-After: 60Solutions:
- SDK will auto-retry if configured
- Reduce request frequency
- Implement backoff in your code
Troubleshooting Guide
Section titled “Troubleshooting Guide”SDK not generating expected methods
Section titled “SDK not generating expected methods”- Check
resourcesmapping in soxom.yaml - Verify operations exist in OpenAPI spec
- Ensure operations aren’t marked with
x-soxom-ignore
Types not matching expected
Section titled “Types not matching expected”- Check OpenAPI schema definitions
- Review naming conventions
- Verify
oneOf/allOfare used correctly
Pagination not working
Section titled “Pagination not working”- Verify
x-soxom-paginationextension - Check response structure matches config
- Ensure
has_moreortotalfield exists
Retries not happening
Section titled “Retries not happening”- Check retry configuration
- Verify status code is in
retry_onlist - Check operation doesn’t have
x-soxom-retries: enabled: false
Verbose Debugging
Section titled “Verbose Debugging”Open the Builds view in the dashboard and expand the build to see full generator logs, including resolved spec paths, per-operation diagnostics, and stack traces for any failures. If a build is in a stuck state, click Retry to re-run it; for programmatic access, POST /api/v1/projects/:projectId/sdk-targets/:id/sdk-builds/trigger queues a fresh build against the latest Config Repository commit.
Getting Help
Section titled “Getting Help”Check Documentation
Section titled “Check Documentation”Report Issues
Section titled “Report Issues”If you encounter a bug:
- Copy the build ID and full log from the Builds view
- Include the full error message
- Include
soxom.yaml(remove secrets) - Include relevant parts of the OpenAPI spec
Report at: GitHub Issues