Skip to content

feat: add internal flag to Endpoint create params (VT-9534) - #324

Closed
revanth-plivo wants to merge 2 commits into
masterfrom
VT-9534-add-internal-endpoint-flag
Closed

feat: add internal flag to Endpoint create params (VT-9534)#324
revanth-plivo wants to merge 2 commits into
masterfrom
VT-9534-add-internal-endpoint-flag

Conversation

@revanth-plivo

Copy link
Copy Markdown

Summary

Adds an optional internal boolean builder param to EndpointCreator so callers can mark newly created SIP endpoints as internal at creation time.

Why

Plivo CX (Contacto) auto-creates a SIP endpoint per AOM during user invite for browser-SDK playback. These internal endpoints currently leak into the customer's Endpoints tab in the console (Pylon #2460), causing confusion, prod alerts (customers try to register the SIP from third-party clients), and a security concern (customer can silently change creds).

The trace service already supports an internal column on the endpoint model + defaults the List API to exclude internal endpoints (commit cea50cf / d425930 on trace). What's missing is the ability for the auto-create call (Hodor) to actually mark endpoints as internal=true at creation time. This SDK change unblocks that.

Change

  • EndpointCreator.java — one new optional builder param:
    • private Boolean internal;
    • public EndpointCreator internal(final Boolean internal) { ... }
    • public Boolean internal() { ... } accessor
  • Serialized to wire as internal (Jackson snake_case naming strategy leaves the single-word field unchanged)
  • Version bump 5.49.0 -> 5.49.1 in pom.xml and version.txt; matching CHANGELOG.md entry

Backwards-compatibility

internal is a boxed Boolean that defaults to null and is omitted from the serialized JSON when unset. Every existing caller sees identical wire behavior. Only callers that explicitly call .internal(true) opt into the new path.

Test plan

  • mvn compile clean (validated by CI)
  • Existing EndpointTest suite passes
  • End-to-end sanity: hit api.plivo.com create endpoint with internal=true from a test account and verify subscriber.internal = true on the row (validated separately by the CX team's integration)

Related

  • JIRA: VT-9534
  • Slack: [thread on Pylon #2460]
  • Companion PRs across other SDKs: plivo-go added changes #250, plivo-python, plivo-node, plivo-ruby, plivo-php, plivo-dotnet (following this pattern)

🤖 Generated with Claude Code

Adds an optional `internal` boolean field to `EndpointCreator` so callers can
mark newly created SIP endpoints as internal at creation time.

Trace already accepts the `internal` column on the endpoint model and defaults
the List API to hide internal endpoints. This SDK change unblocks Plivo CX
(Contacto) from tagging auto-created browser-SDK endpoints so they stop
leaking into the customer's Endpoints tab (Pylon #2460).

When `internal` is not set, Jackson omits it from the serialized JSON, so
existing callers see identical wire behavior.
@revanth-plivo
revanth-plivo force-pushed the VT-9534-add-internal-endpoint-flag branch from 2e30b02 to 600631b Compare July 27, 2026 12:32
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