Skip to content

PAL-1311 Name SDK operations in shared Fern overrides - #1423

Draft
chris-garber-vapi wants to merge 1 commit into
mainfrom
codex/pal-1311-shared-sdk-names
Draft

chris-garber-vapi wants to merge 1 commit into
mainfrom
codex/pal-1311-shared-sdk-names

Conversation

@chris-garber-vapi

@chris-garber-vapi chris-garber-vapi commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

Replace the Vapi CLI with a Fern-generated OAuth beta

Description

Adds readable group/method names for all 104 remaining controller-derived operations in the existing shared Fern overrides. All seven server SDKs and the CLI consume these definitions. The 41 already-named operations retain their names.

How it works

Only fern/apis/api/openapi-overrides.yml changes. Existing descriptions, availability settings, pagination and other override content are preserved. The generated CLI's HTTP contract is identical after removing the new naming metadata: all 145 operations remain, with unique readable command paths.

Surface Campaign listing before Generated preview
CLI campaigns campaign-controller-find-all campaigns list
TypeScript campaignControllerFindAll list
Python campaign_controller_find_all list
Go CampaignControllerFindAll List
C# CampaignControllerFindAllAsync ListAsync

Versioned and specialized operations receive distinct names, such as list-v2 and list-contacts-v2; generators apply each language's existing casing conventions.

Related PRs

  • CLI #21 adopts CLI preview output generated with these shared names and retains PKCE, request attribution and schema fixes.
  • docs #1422 configures central CLI generation using this same overrides file. It can be reviewed independently.
  • vapi #26833 is superseded: the names now live here instead of controller annotations or dashboard schema changes.
  • vapi #26299 remains the separate native OAuth acceptance change.

Testing Steps

  • Existing overrides and HTTP contracts are unchanged apart from naming metadata.
  • Fern previews succeed for TypeScript, Python, Go, Ruby, C#, PHP, Swift and CLI; Campaign methods use the expected readable names in every SDK.
  • CLI retains 145 unique operation paths; campaigns list and list-v2 help succeed.
  • All 290 CLI wire tests pass; all 15 end-to-end checks pass, including the renamed Campaign routes, attribution and PKCE startup.
  • Release schema checks stay below 50 ms locally and pass the 500 ms / 128 MiB / 2 MiB budgets.

Risks

These are breaking SDK method and endpoint-request-type renames. Coordinate compatible package versions before regenerating and publishing server SDK releases. This PR does not publish SDKs or change HTTP routes, operation IDs, authorization, parameters or response schemas. No API deployment is needed for the override-based naming change.

[Replace the Vapi CLI with a Fern-generated OAuth beta](https://linear.app/vapi/issue/PAL-1311/replace-the-vapi-cli-with-a-fern-generated-oauth-beta)

## Description

Adds readable group/method names for all 104 remaining controller-derived operations in the existing shared Fern overrides. All seven server SDKs and the CLI consume these definitions. The 41 already-named operations retain their names.

## How it works

Only `fern/apis/api/openapi-overrides.yml` changes. Existing descriptions, availability settings, pagination and other override content are preserved. The generated CLI's HTTP contract is identical after removing the new naming metadata: all 145 operations remain, with unique readable command paths.

| Surface | Campaign listing before | Generated preview |
| --- | --- | --- |
| CLI | `campaigns campaign-controller-find-all` | `campaigns list` |
| TypeScript | `campaignControllerFindAll` | `list` |
| Python | `campaign_controller_find_all` | `list` |
| Go | `CampaignControllerFindAll` | `List` |
| C# | `CampaignControllerFindAllAsync` | `ListAsync` |

Versioned and specialized operations receive distinct names, such as `list-v2` and `list-contacts-v2`; generators apply each language's existing casing conventions.

## Related PRs

- [CLI #21](https://app.graphite.com/github/pr/VapiAI/cli/21) adopts CLI preview output generated with these shared names and retains PKCE, request attribution and schema fixes.
- [docs #1422](https://app.graphite.com/github/pr/VapiAI/docs/1422) configures central CLI generation using this same overrides file. It can be reviewed independently.
- [vapi #26833](https://app.graphite.com/github/pr/VapiAI/vapi/26833) is superseded: the names now live here instead of controller annotations or dashboard schema changes.
- [vapi #26299](https://app.graphite.com/github/pr/VapiAI/vapi/26299) remains the separate native OAuth acceptance change.

## Testing Steps

- [x] Existing overrides and HTTP contracts are unchanged apart from naming metadata.
- [x] Fern previews succeed for TypeScript, Python, Go, Ruby, C#, PHP, Swift and CLI; Campaign methods use the expected readable names in every SDK.
- [x] CLI retains 145 unique operation paths; `campaigns list` and `list-v2` help succeed.
- [x] All 290 CLI wire tests pass; end-to-end checks include the renamed Campaign routes, attribution and PKCE startup.
- [x] Release schema checks stay below 50 ms locally and pass the 500 ms / 128 MiB / 2 MiB budgets.

## Risks

These are breaking SDK method and endpoint-request-type renames. Coordinate compatible package versions before regenerating and publishing server SDK releases. This PR does not publish SDKs or change HTTP routes, operation IDs, authorization, parameters or response schemas. No API deployment is needed for the override-based naming change.

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions

Copy link
Copy Markdown
Contributor

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.

1 participant