diff --git a/bandwidth.yml b/bandwidth.yml index 9c67eaf2..e0b5f0dc 100644 --- a/bandwidth.yml +++ b/bandwidth.yml @@ -2802,6 +2802,8 @@ components: $ref: '#/components/schemas/mediaUrl' transcription: $ref: '#/components/schemas/recordingTranscriptionMetadata' + recordingName: + $ref: '#/components/schemas/recordingName' conference: type: object properties: @@ -3041,6 +3043,8 @@ components: $ref: '#/components/schemas/status' mediaUrl: $ref: '#/components/schemas/mediaUrl' + recordingName: + $ref: '#/components/schemas/recordingName' machineDetectionConfiguration: type: object description: >- @@ -4266,6 +4270,10 @@ components: type: string description: The call id associated with the event. example: c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + recordingName: + type: string + description: A name to identify this recording. + example: my-recording-name callUrl: type: string description: The URL of the call associated with the event. diff --git a/bandwidth/models/call_recording_metadata.py b/bandwidth/models/call_recording_metadata.py index 97a643d9..bd45f918 100644 --- a/bandwidth/models/call_recording_metadata.py +++ b/bandwidth/models/call_recording_metadata.py @@ -49,8 +49,9 @@ class CallRecordingMetadata(BaseModel): status: Optional[StrictStr] = Field(default=None, description="The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values.") media_url: Optional[StrictStr] = Field(default=None, description="The URL that can be used to download the recording. Only present if the recording is finished and may be downloaded.", alias="mediaUrl") transcription: Optional[RecordingTranscriptionMetadata] = None + recording_name: Optional[StrictStr] = Field(default=None, description="A name to identify this recording.", alias="recordingName") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["applicationId", "accountId", "callId", "parentCallId", "recordingId", "to", "from", "transferCallerId", "transferTo", "duration", "direction", "channels", "startTime", "endTime", "fileFormat", "status", "mediaUrl", "transcription"] + __properties: ClassVar[List[str]] = ["applicationId", "accountId", "callId", "parentCallId", "recordingId", "to", "from", "transferCallerId", "transferTo", "duration", "direction", "channels", "startTime", "endTime", "fileFormat", "status", "mediaUrl", "transcription", "recordingName"] model_config = ConfigDict( populate_by_name=True, @@ -140,7 +141,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "fileFormat": obj.get("fileFormat"), "status": obj.get("status"), "mediaUrl": obj.get("mediaUrl"), - "transcription": RecordingTranscriptionMetadata.from_dict(obj["transcription"]) if obj.get("transcription") is not None else None + "transcription": RecordingTranscriptionMetadata.from_dict(obj["transcription"]) if obj.get("transcription") is not None else None, + "recordingName": obj.get("recordingName") }) # store additional fields in additional_properties for _key in obj.keys(): diff --git a/bandwidth/models/conference_recording_metadata.py b/bandwidth/models/conference_recording_metadata.py index 86b001c2..a83333ea 100644 --- a/bandwidth/models/conference_recording_metadata.py +++ b/bandwidth/models/conference_recording_metadata.py @@ -40,8 +40,9 @@ class ConferenceRecordingMetadata(BaseModel): file_format: Optional[FileFormatEnum] = Field(default=None, alias="fileFormat") status: Optional[StrictStr] = Field(default=None, description="The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values.") media_url: Optional[StrictStr] = Field(default=None, description="The URL that can be used to download the recording. Only present if the recording is finished and may be downloaded.", alias="mediaUrl") + recording_name: Optional[StrictStr] = Field(default=None, description="A name to identify this recording.", alias="recordingName") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["accountId", "conferenceId", "name", "recordingId", "duration", "channels", "startTime", "endTime", "fileFormat", "status", "mediaUrl"] + __properties: ClassVar[List[str]] = ["accountId", "conferenceId", "name", "recordingId", "duration", "channels", "startTime", "endTime", "fileFormat", "status", "mediaUrl", "recordingName"] model_config = ConfigDict( populate_by_name=True, @@ -116,7 +117,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "endTime": obj.get("endTime"), "fileFormat": obj.get("fileFormat"), "status": obj.get("status"), - "mediaUrl": obj.get("mediaUrl") + "mediaUrl": obj.get("mediaUrl"), + "recordingName": obj.get("recordingName") }) # store additional fields in additional_properties for _key in obj.keys(): diff --git a/docs/CallRecordingMetadata.md b/docs/CallRecordingMetadata.md index 19e1039d..338bcb3e 100644 --- a/docs/CallRecordingMetadata.md +++ b/docs/CallRecordingMetadata.md @@ -23,6 +23,7 @@ Name | Type | Description | Notes **status** | **str** | The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. | [optional] **media_url** | **str** | The URL that can be used to download the recording. Only present if the recording is finished and may be downloaded. | [optional] **transcription** | [**RecordingTranscriptionMetadata**](RecordingTranscriptionMetadata.md) | | [optional] +**recording_name** | **str** | A name to identify this recording. | [optional] ## Example diff --git a/docs/ConferenceRecordingMetadata.md b/docs/ConferenceRecordingMetadata.md index 6c8423cd..dfb50247 100644 --- a/docs/ConferenceRecordingMetadata.md +++ b/docs/ConferenceRecordingMetadata.md @@ -16,6 +16,7 @@ Name | Type | Description | Notes **file_format** | [**FileFormatEnum**](FileFormatEnum.md) | | [optional] **status** | **str** | The current status of the process. For recording, current possible values are 'processing', 'partial', 'complete', 'deleted', and 'error'. For transcriptions, current possible values are 'none', 'processing', 'available', 'error', 'timeout', 'file-size-too-big', and 'file-size-too-small'. Additional states may be added in the future, so your application must be tolerant of unknown values. | [optional] **media_url** | **str** | The URL that can be used to download the recording. Only present if the recording is finished and may be downloaded. | [optional] +**recording_name** | **str** | A name to identify this recording. | [optional] ## Example diff --git a/test/unit/api/test_recordings_api.py b/test/unit/api/test_recordings_api.py index 09e20c2e..e203f974 100644 --- a/test/unit/api/test_recordings_api.py +++ b/test/unit/api/test_recordings_api.py @@ -93,6 +93,7 @@ def test_list_account_call_recordings(self) -> None: assert_that(response.data[0].transcription.status, instance_of(str)) assert_that(response.data[0].transcription.completed_time, instance_of(datetime)) assert_that(response.data[0].transcription.url, starts_with('http')) + assert_that(response.data[0].recording_name, instance_of(str)) def test_list_call_recordings(self) -> None: """Test case for list_call_recordings @@ -126,6 +127,7 @@ def test_list_call_recordings(self) -> None: assert_that(response.data[0].transcription.status, instance_of(str)) assert_that(response.data[0].transcription.completed_time, instance_of(datetime)) assert_that(response.data[0].transcription.url, starts_with('http')) + assert_that(response.data[0].recording_name, instance_of(str)) @unittest.skip("skip due to prism error") def test_get_call_recording(self) -> None: @@ -160,6 +162,7 @@ def test_get_call_recording(self) -> None: assert_that(response.data.transcription.status, instance_of(str)) assert_that(response.data.transcription.completed_time, instance_of(datetime)) assert_that(response.data.transcription.url, starts_with('http')) + assert_that(response.data.recording_name, instance_of(str)) def test_download_call_recording(self) -> None: """Test case for download_call_recording