Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ docs/AnsweredBy.md
docs/ApplicationList.md
docs/ApplicationRequest.md
docs/ApplicationResult.md
docs/AudioStream.md
docs/AudioStreamWebhook.md
docs/AvailableNumber.md
docs/AvailableNumberList.md
docs/BargeInReason.md
Expand All @@ -22,6 +24,7 @@ docs/CallDirection.md
docs/CallEndedReason.md
docs/CallList.md
docs/CallResult.md
docs/CallResultAllOfSubresourceUris.md
docs/CallStatus.md
docs/CallStatusWebhook.md
docs/Capabilities.md
Expand Down Expand Up @@ -176,6 +179,8 @@ freeclimb/models/answered_by.py
freeclimb/models/application_list.py
freeclimb/models/application_request.py
freeclimb/models/application_result.py
freeclimb/models/audio_stream.py
freeclimb/models/audio_stream_webhook.py
freeclimb/models/available_number.py
freeclimb/models/available_number_list.py
freeclimb/models/barge_in_reason.py
Expand All @@ -187,6 +192,7 @@ freeclimb/models/call_direction.py
freeclimb/models/call_ended_reason.py
freeclimb/models/call_list.py
freeclimb/models/call_result.py
freeclimb/models/call_result_all_of_subresource_uris.py
freeclimb/models/call_status.py
freeclimb/models/call_status_webhook.py
freeclimb/models/capabilities.py
Expand Down Expand Up @@ -339,6 +345,8 @@ test/test_answered_by.py
test/test_application_list.py
test/test_application_request.py
test/test_application_result.py
test/test_audio_stream.py
test/test_audio_stream_webhook.py
test/test_available_number.py
test/test_available_number_list.py
test/test_barge_in_reason.py
Expand All @@ -350,6 +358,7 @@ test/test_call_direction.py
test/test_call_ended_reason.py
test/test_call_list.py
test/test_call_result.py
test/test_call_result_all_of_subresource_uris.py
test/test_call_status.py
test/test_call_status_webhook.py
test/test_capabilities.py
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

None

<a name="5.4.0"></a>

## [5.4.0] - 2026-04-06

### Added

- New parameters for fetching recordings (start time and end time)
- Audio Streaming feature

<a name="5.3.0"></a>

## [5.3.0] - 2025-10-27
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ FreeClimb is a cloud-based application programming interface (API) that puts the
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0.0
- Package version: 5.3.0
- Package version: 5.4.0
- Generator version: 7.9.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://www.freeclimb.com/support/](https://www.freeclimb.com/support/)
Expand Down Expand Up @@ -199,6 +199,8 @@ Class | Method | HTTP request | Description
- [ApplicationList](docs/ApplicationList.md)
- [ApplicationRequest](docs/ApplicationRequest.md)
- [ApplicationResult](docs/ApplicationResult.md)
- [AudioStream](docs/AudioStream.md)
- [AudioStreamWebhook](docs/AudioStreamWebhook.md)
- [AvailableNumber](docs/AvailableNumber.md)
- [AvailableNumberList](docs/AvailableNumberList.md)
- [BargeInReason](docs/BargeInReason.md)
Expand All @@ -210,6 +212,7 @@ Class | Method | HTTP request | Description
- [CallEndedReason](docs/CallEndedReason.md)
- [CallList](docs/CallList.md)
- [CallResult](docs/CallResult.md)
- [CallResultAllOfSubresourceUris](docs/CallResultAllOfSubresourceUris.md)
- [CallStatus](docs/CallStatus.md)
- [CallStatusWebhook](docs/CallStatusWebhook.md)
- [Capabilities](docs/Capabilities.md)
Expand Down Expand Up @@ -389,4 +392,3 @@ Authentication schemes defined for the API:

support@freeclimb.com


34 changes: 34 additions & 0 deletions docs/AudioStream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# AudioStream

The `AudioStream` command transfers control of the call to a gRPC session. Upon completion of the gRPC session, if the actionUrl is specified, control can be returned to percl usage or the call will simply be hung up if the actionUrl is not specified.

## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**location** | **str** | The gRPC server location that will receive the grpc stream as a uri and must be port 80 or 443. |
**action_url** | **str** | A request is made to this URL when the gRPC session is concluded. The PerCL script returned in response to the actionUrl will be executed on the call. | [optional]
**content_type** | **str** | The type and sample rate of the audio being received over the channel must match the environmental sample rate. | [optional]
**meta_data** | **List[str]** | An arbitrary array of strings passed through FC to the GRPC server can be used to pass state or other information about the call. | [optional]
**privacy_mode** | **bool** | Enables audio redaction with full call recording while gRPC session is running and blocks logging of any DTMFs received by FreeClimb. | [optional]

## Example

```python
from freeclimb.models.audio_stream import AudioStream

# TODO update the JSON string below
json = "{}"
# create an instance of AudioStream from a JSON string
audio_stream_instance = AudioStream.from_json(json)
# print the JSON string representation of the object
print(AudioStream.to_json())

# convert the object into a dict
audio_stream_dict = audio_stream_instance.to_dict()
# create an instance of AudioStream from a dict
audio_stream_from_dict = AudioStream.from_dict(audio_stream_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


38 changes: 38 additions & 0 deletions docs/AudioStreamWebhook.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# AudioStreamWebhook

A gRPC session has ended for this Call its actionUrl is being invoked. A PerCL response is expected — unless the URL is invoked due to the participant hanging up.

## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**request_type** | **str** | Context or reason why this request is being made. Will be audioStream - gRPC session for this Call has ended and its actionUrl is being invoked. | [optional]
**call_id** | **str** | Unique ID for this Call, generated by FreeClimb. This is the call leg which ended its gRPC session. | [optional]
**account_id** | **str** | Account ID associated with your account. | [optional]
**var_from** | **str** | Phone number of the party that initiated the Call (in E.164 format). | [optional]
**to** | **str** | Phone number provisioned to you and to which this Call is directed (in E.164 format). | [optional]
**call_status** | [**CallStatus**](CallStatus.md) | | [optional]
**direction** | [**CallDirection**](CallDirection.md) | | [optional]
**conference_id** | **str** | This is only populated if request pertains to a Conference. Otherwise, it is set to null. | [optional]
**queue_id** | **str** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional]

## Example

```python
from freeclimb.models.audio_stream_webhook import AudioStreamWebhook

# TODO update the JSON string below
json = "{}"
# create an instance of AudioStreamWebhook from a JSON string
audio_stream_webhook_instance = AudioStreamWebhook.from_json(json)
# print the JSON string representation of the object
print(AudioStreamWebhook.to_json())

# convert the object into a dict
audio_stream_webhook_dict = audio_stream_webhook_instance.to_dict()
# create an instance of AudioStreamWebhook from a dict
audio_stream_webhook_from_dict = AudioStreamWebhook.from_dict(audio_stream_webhook_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


1 change: 1 addition & 0 deletions docs/AvailableNumber.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Name | Type | Description | Notes
**capabilities** | [**Capabilities**](Capabilities.md) | | [optional]
**campaign_id** | **str** | The campaign ID generated by the campaign registry | [optional]
**phone_number** | **str** | The phone number, in E.164 format (+ country code and phone number: +18003608245). | [optional]
**alias** | **str** | A nicely-formatted version of the phone number. | [optional]
**region** | **str** | The state or province of this phone number. | [optional]
**country** | **str** | The country of this phone number. | [optional]

Expand Down
10 changes: 9 additions & 1 deletion docs/CallResult.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ Name | Type | Description | Notes
**date_created** | **str** | The date that this resource was created (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). | [optional]
**date_updated** | **str** | The date that this resource was last updated (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). | [optional]
**revision** | **int** | Revision count for the resource. This count is set to 1 on creation and is incremented every time it is updated. | [optional]
**date_created_iso** | **datetime** | The date that this resource was created in ISO 8601 format (e.g., 2022-01-01T00:00:00.000Z). | [optional]
**date_updated_iso** | **datetime** | The date that this resource was last updated in ISO 8601 format (e.g., 2022-01-01T00:00:00.000Z). | [optional]
**call_id** | **str** | String that uniquely identifies this Call resource. | [optional]
**parent_call_id** | **str** | ID of the Call that created this leg (child Call). | [optional]
**account_id** | **str** | ID of the account that owns this Call. | [optional]
Expand All @@ -17,13 +19,19 @@ Name | Type | Description | Notes
**phone_number_id** | **str** | If the Call was inbound, this is the ID of the IncomingPhoneNumber that received the Call (DNIS). If the Call was outbound, this is the ID of the phone number from which the Call was placed (ANI). | [optional]
**status** | [**CallStatus**](CallStatus.md) | | [optional]
**start_time** | **str** | Start time of the Call (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). Empty if the Call has not yet been dialed. | [optional]
**start_time_iso** | **datetime** | Start time of the Call in ISO 8601 format (e.g., 2022-01-01T00:00:00.000Z). Empty if the Call has not yet been dialed. | [optional]
**connect_time** | **str** | Time the Call was answered (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). Empty if the Call has not yet been dialed. | [optional]
**connect_time_iso** | **datetime** | Time the Call was answered in ISO 8601 format (e.g., 2022-01-01T00:00:00.000Z). Empty if the Call has not yet been dialed. | [optional]
**end_time** | **str** | End time of the Call (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). Empty if the Call did not complete successfully. | [optional]
**end_time_iso** | **datetime** | End time of the Call in ISO 8601 format (e.g., 2022-01-01T00:00:00.000Z). Empty if the Call did not complete successfully. | [optional]
**duration** | **int** | Total length of the Call in seconds. Measures time between startTime and endTime. This value is empty for busy, failed, unanswered or ongoing Calls. | [optional]
**connect_duration** | **int** | Length of time that the Call was connected in seconds. Measures time between connectTime and endTime. This value is empty for busy, failed, unanswered or ongoing Calls. | [optional]
**audio_stream_duration** | **int** | Length of time that the Call used the audio stream in seconds. This value is empty or zero when the Call did not use the audio stream. | [optional]
**direction** | [**CallDirection**](CallDirection.md) | | [optional]
**answered_by** | [**AnsweredBy**](AnsweredBy.md) | | [optional]
**subresource_uris** | **object** | The list of subresources for this Call. These include things like logs and recordings associated with the Call. | [optional]
**caller_name** | **str** | The caller ID name (CNAM) for this Call. Empty if unavailable. | [optional]
**web_rtc** | **bool** | Indicates whether this Call was initiated via WebRTC. | [optional]
**subresource_uris** | [**CallResultAllOfSubresourceUris**](CallResultAllOfSubresourceUris.md) | | [optional]
**application_id** | **str** | ApplicationId associated with the Call. | [optional]

## Example
Expand Down
31 changes: 31 additions & 0 deletions docs/CallResultAllOfSubresourceUris.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# CallResultAllOfSubresourceUris

The list of subresources for this Call. These include things like logs and recordings associated with the Call.

## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**logs** | **str** | The URI for the logs associated with this Call. | [optional]
**recordings** | **str** | The URI for the recordings associated with this Call. | [optional]

## Example

```python
from freeclimb.models.call_result_all_of_subresource_uris import CallResultAllOfSubresourceUris

# TODO update the JSON string below
json = "{}"
# create an instance of CallResultAllOfSubresourceUris from a JSON string
call_result_all_of_subresource_uris_instance = CallResultAllOfSubresourceUris.from_json(json)
# print the JSON string representation of the object
print(CallResultAllOfSubresourceUris.to_json())

# convert the object into a dict
call_result_all_of_subresource_uris_dict = call_result_all_of_subresource_uris_instance.to_dict()
# create an instance of CallResultAllOfSubresourceUris from a dict
call_result_all_of_subresource_uris_from_dict = CallResultAllOfSubresourceUris.from_dict(call_result_all_of_subresource_uris_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


2 changes: 1 addition & 1 deletion docs/ConferenceResult.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Name | Type | Description | Notes
**conference_id** | **str** | A string that uniquely identifies this Conference resource. | [optional]
**account_id** | **str** | ID of the account that created this Conference. | [optional]
**alias** | **str** | A description for this Conference. | [optional]
**play_beep** | [**PlayBeep**](PlayBeep.md) | | [optional]
**play_beep** | [**PlayBeep**](PlayBeep.md) | Setting that controls when a beep is played. One of: always, never, entryOnly, exitOnly. Defaults to always. | [optional]
**record** | **bool** | Flag indicating whether recording is enabled for this Conference. | [optional]
**status** | [**ConferenceStatus**](ConferenceStatus.md) | | [optional]
**wait_url** | **str** | URL referencing the audio file to be used as default wait music for the Conference when it is in the populated state. | [optional]
Expand Down
Loading
Loading