Skip to content

feat(outbound-app): add useDcr and dcrUrl fields to OutboundApp - #1704

Open
ruvenzx wants to merge 4 commits into
mainfrom
feat/outbound-app-dcr-fields
Open

ruvenzx wants to merge 4 commits into
mainfrom
feat/outbound-app-dcr-fields

Conversation

@ruvenzx

@ruvenzx ruvenzx commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The REST API supports useDcr/dcrUrl on outbound apps, but the SDK's create/update request builder dropped them — calling update_application on an app with DCR enabled silently cleared its DCR config since the SDK couldn't carry those fields.
  • Added use_dcr: bool = False and dcr_url: str = "" to create_application/update_application (sync + async) and to _compose_create_update_body. Both fields are always included in the payload (unconditionally), so a false/empty value explicitly clears DCR rather than leaving it ambiguous.
  • Same gap was just closed in the Go SDK (types.go + outbound_application.go request builder).

Test plan

  • Added test_create_application_with_dcr_success / test_update_application_with_dcr_success asserting useDcr/dcrUrl are sent in the exact request payload.
  • Updated the 8 existing _compose_create_update_body unit tests to expect the two new always-present fields.
  • pytest --ignore=tests/e2e: 1106 passed.
  • ruff check clean on changed files.
  • Updated README outbound application examples to include the new params.

ruvenzx and others added 3 commits September 28, 2026 11:49
The REST API supports useDcr/dcrUrl on outbound apps but the SDK's
create/update request builder dropped them, silently clearing DCR
config on any update call. Add both fields, always included in the
payload (unconditionally, like the Go SDK) so a false/empty value
explicitly clears DCR instead of leaving it ambiguous.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@shuni-bot

shuni-bot Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

🐕 Shuni Review

Adds use_dcr/dcr_url to outbound application create/update (sync and async), and the shared body builder now always sends them as useDcr/dcrUrl.

Actionable comments posted: 0

Merge risk: 🟢 Low: the new trailing kwargs match the builder's argument order in both the sync and async clients. Always sending the fields fits the documented rule that an update overrides every field.

🤖 Model: claude-opus-5.5 · Effort: high


Review scope: Full review

Reviewed files (5)
  • README.md
  • descope/management/_outbound_application_base.py
  • descope/management/outbound_application.py
  • descope/management/outbound_application_async.py
  • tests/management/test_outbound_application.py

🐕 Review complete — View session on Shuni Portal 🐾

🤖 Model: claude-opus-5.5 · Effort: high

@ruvenzx
ruvenzx requested a review from LioriE September 28, 2026 10:40
@ruvenzx ruvenzx self-assigned this Sep 28, 2026
@ruvenzx
ruvenzx requested a review from dorsha September 28, 2026 10:40

@shuni-bot shuni-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐕 Shuni review: no new findings. Every changed file in this pull request was reviewed.

The full review summary is in Shuni's sticky review comment on this pull request.

@github-actions

Copy link
Copy Markdown

Coverage report

The coverage rate went from 98.3% to 98.3% ⬆️

100% of new lines are covered.

Diff Coverage details (click to unfold)

descope/management/_outbound_application_base.py

100% of new lines are covered (93.33% of the complete file).

This branch has not been deployed

No deployments
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