Summary
The play(), record(), collect(), detect(), tap(), stream(), and transcribe() methods on the calling namespace declare control_id: str | None = None. The Calling API requires the field on all seven commands.
Why it matters
- The public OpenAPI lists
params.control_id as required on each of these requests.
- A command sent without it is rejected server-side.
- The endpoint accepts commands asynchronously, so the request still returns success. Nothing at call time or in the response tells the developer anything went wrong.
The corresponding stop methods already require the argument, which is the correct shape.
Not affected
The ai_stop() method is correct as written. The API does not require control_id on that command.
Root cause
The spec the generator reads marks the field optional. That is tracked in signalwire/porting-sdk#143. This issue tracks the regenerate here once the spec change is merged.
Summary
The
play(),record(),collect(),detect(),tap(),stream(), andtranscribe()methods on the calling namespace declarecontrol_id: str | None = None. The Calling API requires the field on all seven commands.Why it matters
params.control_idas required on each of these requests.The corresponding stop methods already require the argument, which is the correct shape.
Not affected
The
ai_stop()method is correct as written. The API does not requirecontrol_idon that command.Root cause
The spec the generator reads marks the field optional. That is tracked in signalwire/porting-sdk#143. This issue tracks the regenerate here once the spec change is merged.