Skip to content

Feature Request: Expose baseUrlOverride on proxy/get/post/put/patch/delete methods in Node & TS SDK #5546

@Gamatel

Description

@Gamatel

Summary

Right now, the Nango Proxy REST API supports the Base-Url-Override header (see docs) to override the default base URL for proxied calls.
However, this override is not exposed as a first-class option in the SDKs (Node & TS), which means SDK users cannot configure a custom base API URL directly through the SDK method signatures.

For example, in the Node SDK (@nangohq/node) and the generated TS SDK (speakeasy-sdks/nango-typescript-sdk), methods such as:

  • nango.proxy({...})
  • nango.get({...})
  • nango.post({...})
  • nango.put({...})
  • nango.patch({...})
  • nango.delete({...})

do not expose a typed baseUrlOverride param to match the underlying API’s support for overriding proxy base URLs.

Problem

When integrating with APIs that are either:

  • not defined in providers.yaml,
  • or where the base URL must be dynamic (e.g., tenant-specific instance_url),
    the only current workaround is manually injecting the Base-Url-Override header. This is error-prone, lacks type support, and prevents ergonomic SDK use.

Proposal

Add a baseUrlOverride option in the proxy configuration for all relevant methods in:

  1. The Node backend SDK (@nangohq/node)
  2. The Typescript SDK (speakeasy-sdks/nango-typescript-sdk)

This should be added for:

  • proxy method (nango.proxy({...}))
  • HTTP request helpers (nango.get({...}), nango.post({...}), etc.)
  • Any generated SDK clients that wrap proxy calls

The desired behavior is that SDK methods automatically set the Base-Url-Override header when baseUrlOverride is provided, reducing friction and making it explicit in the typing.

Benefits

  • Better ergonomics and DX when using the proxy for custom/tenant-specific APIs
  • Explicit SDK support aligns with the documented Proxy REST API behavior
  • Avoids the need to manually hack headers or custom HTTP clients

Example Use Case

await nango.proxy({
  endpoint: '/v1/foo',
  providerConfigKey: 'my-provider',
  connectionId: 'conn-id',
  baseUrlOverride: 'https://api.custom.baz',
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions