Skip to content

feat(api): sync Industry enum with IndustryV2 source#26

Merged
marioalvial merged 1 commit into
mainfrom
feat/industry-schema-v2
May 11, 2026
Merged

feat(api): sync Industry enum with IndustryV2 source#26
marioalvial merged 1 commit into
mainfrom
feat/industry-schema-v2

Conversation

@marioalvial
Copy link
Copy Markdown
Contributor

Description

Replace the inline industry enum on CompanyOwnerRequest / CompanyOwnerResponse with a shared Industry component schema mirroring IndustryV2 from development-utils (the live source of truth, 86 values). The previous published enum (30 values) had drifted: most of its entries (e.g. INFORMATION_TECHNOLOGY, RETAIL_SALES__RETAIL_TRADE, MEDIA__ENTERTAINMENT) are not part of IndustryV2 and would be rejected by the backend.

Per the OpenAPI authoring rules in .claude/rules/openapi.md, any value used in two or more places is extracted to components.schemas — so the same Industry schema now backs both request and response.

The schema is intentionally named Industry, not IndustryV2: public docs avoid versioned internal class names, and there is no other Industry schema published here to disambiguate against.

Key Changes

  • apis/fx-account/openapi.yml:
    • New Industry component schema with all 86 values from IndustryV2.kt, preserving the source order
    • CompanyOwnerRequest.industry: inline 30-value enum → $ref: "#/components/schemas/Industry"
    • CompanyOwnerResponse.industry: inline type: string$ref: "#/components/schemas/Industry"
    • Example payload: industry: "INFORMATION_TECHNOLOGY"industry: "SOFTWARE_DEVELOPMENT" (the old value is no longer in the enum)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

The published enum was wrong — every value an integrator picked from the old list (except ENERGY, TRANSPORTATION, OTHERS) would 422 against the live API. Switching to the IndustryV2 list is a contract correction for the wire, but a breaking change for anyone who had wired against the doc.

How Has This Been Tested?

  • Unit Test
  • Integration Test

mint validate passes locally.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • I have checked my code and corrected any misspellings

Replace the inline 30-value enum on CompanyOwnerRequest/Response with a
shared `Industry` component schema mirroring `IndustryV2` from
development-utils (86 values). Update the example payload from the now-
removed `INFORMATION_TECHNOLOGY` to `SOFTWARE_DEVELOPMENT`.
@mintlify
Copy link
Copy Markdown

mintlify Bot commented May 11, 2026

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
tracefinance 🟢 Ready View Preview May 11, 2026, 1:30 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@marioalvial marioalvial merged commit 1661c20 into main May 11, 2026
8 checks passed
@marioalvial marioalvial deleted the feat/industry-schema-v2 branch May 11, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants