Skip to content

OutboundApplication (createApplication) is missing useDcr/dcrUrl — but OutboundAppTemplateOverrides has them, forcing a cast for DCR apps #746

Description

@tarracharan-glitch

Hi Descope team — following up on #743 / #744 (thanks for adding
createApplicationByTemplate!). While integrating, I hit a related typing
inconsistency in the outbound-app create payloads.

We create DCR-based Outbound Apps (custom MCP servers that support RFC 7591
dynamic client registration) via createApplication(...), passing useDcr: true
and dcrUrl. The REST API accepts them and they work — but they aren't on the
OutboundApplication type, so we have to cast the payload:

await client.management.outboundApplication.createApplication({
  id, name, description,
  useDcr: true,   // not in OutboundApplication
  dcrUrl,         // not in OutboundApplication
  pkce: true,
  defaultRedirectUrl: "https://api.descope.com/v1/outbound/oauth/callback",
} as Parameters<typeof client.management.outboundApplication.createApplication>[0]);

What makes this a typing gap rather than an unsupported feature: #744 already
added these two fields — but only to OutboundAppTemplateOverrides, not to
OutboundApplication
(lib/management/types.ts):

export type OutboundApplication = {
  // ...authorizationUrl, tokenUrl, defaultScopes, pkce, accessType, prompt
  // no useDcr / dcrUrl
};

export type OutboundAppTemplateOverrides = {
  // ...identical fields, plus:
  useDcr?: boolean;
  dcrUrl?: string;
};

So a DCR app can be created with full typing through the template path's
overrides, but not through the direct createApplication path — same REST
endpoint, same fields, different types.

Proposed

Add useDcr?: boolean and dcrUrl?: string to OutboundApplication.

Environment

  • @descope/node-sdk@2.8.0 (latest published) — neither type has the fields.
  • next prerelease 0.0.0-next-868a081b-20260621 (contains feat: create outbound app from template #744) — OutboundAppTemplateOverrides
    has useDcr/dcrUrl; OutboundApplication still doesn't. Same on main.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions