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 @@ -15,6 +15,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 @@ -26,6 +28,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 @@ -178,6 +181,8 @@ lib/freeclimb/models/answered_by.rb
lib/freeclimb/models/application_list.rb
lib/freeclimb/models/application_request.rb
lib/freeclimb/models/application_result.rb
lib/freeclimb/models/audio_stream.rb
lib/freeclimb/models/audio_stream_webhook.rb
lib/freeclimb/models/available_number.rb
lib/freeclimb/models/available_number_list.rb
lib/freeclimb/models/barge_in_reason.rb
Expand All @@ -189,6 +194,7 @@ lib/freeclimb/models/call_direction.rb
lib/freeclimb/models/call_ended_reason.rb
lib/freeclimb/models/call_list.rb
lib/freeclimb/models/call_result.rb
lib/freeclimb/models/call_result_all_of_subresource_uris.rb
lib/freeclimb/models/call_status.rb
lib/freeclimb/models/call_status_webhook.rb
lib/freeclimb/models/capabilities.rb
Expand Down Expand Up @@ -336,6 +342,8 @@ spec/models/answered_by_spec.rb
spec/models/application_list_spec.rb
spec/models/application_request_spec.rb
spec/models/application_result_spec.rb
spec/models/audio_stream_spec.rb
spec/models/audio_stream_webhook_spec.rb
spec/models/available_number_list_spec.rb
spec/models/available_number_spec.rb
spec/models/barge_in_reason_spec.rb
Expand All @@ -346,6 +354,7 @@ spec/models/call_control_webhook_spec.rb
spec/models/call_direction_spec.rb
spec/models/call_ended_reason_spec.rb
spec/models/call_list_spec.rb
spec/models/call_result_all_of_subresource_uris_spec.rb
spec/models/call_result_spec.rb
spec/models/call_status_spec.rb
spec/models/call_status_webhook_spec.rb
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

## [Unreleased]

<a name="5.5.0"></a>

## [5.5.0] - 2026-04-06

### Added

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

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

## [5.4.0] - 2025-10-24
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
freeclimb (5.4.0)
freeclimb (5.5.0)
typhoeus (~> 1.0, >= 1.0.1)

GEM
Expand Down
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ FreeClimb is a cloud-based application programming interface (API) that puts the
This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0.0
- Package version: 5.4.0
- Package version: 5.5.0
- Build package: org.openapitools.codegen.languages.RubyClientCodegen
For more information, please visit [https://www.freeclimb.com/support/](https://www.freeclimb.com/support/)

## Installation

Add this to the Gemfile:

gem 'freeclimb', '~> 5.4.0'
gem 'freeclimb', '~> 5.5.0'

and run from your terminal

Expand Down Expand Up @@ -44,9 +44,9 @@ gem build freeclimb.gemspec
Then either install the gem locally:

```shell
gem install ./freeclimb-5.4.0.gem
gem install ./freeclimb-5.5.0.gem
```
(for development, run `gem install --dev ./freeclimb-5.4.0.gem` to install the development dependencies)
(for development, run `gem install --dev ./freeclimb-5.5.0.gem` to install the development dependencies)

## Getting Started

Expand Down Expand Up @@ -182,6 +182,8 @@ Class | Method | HTTP request | Description
- [Freeclimb::ApplicationList](docs/ApplicationList.md)
- [Freeclimb::ApplicationRequest](docs/ApplicationRequest.md)
- [Freeclimb::ApplicationResult](docs/ApplicationResult.md)
- [Freeclimb::AudioStream](docs/AudioStream.md)
- [Freeclimb::AudioStreamWebhook](docs/AudioStreamWebhook.md)
- [Freeclimb::AvailableNumber](docs/AvailableNumber.md)
- [Freeclimb::AvailableNumberList](docs/AvailableNumberList.md)
- [Freeclimb::BargeInReason](docs/BargeInReason.md)
Expand All @@ -193,6 +195,7 @@ Class | Method | HTTP request | Description
- [Freeclimb::CallEndedReason](docs/CallEndedReason.md)
- [Freeclimb::CallList](docs/CallList.md)
- [Freeclimb::CallResult](docs/CallResult.md)
- [Freeclimb::CallResultAllOfSubresourceUris](docs/CallResultAllOfSubresourceUris.md)
- [Freeclimb::CallStatus](docs/CallStatus.md)
- [Freeclimb::CallStatusWebhook](docs/CallStatusWebhook.md)
- [Freeclimb::Capabilities](docs/Capabilities.md)
Expand Down
26 changes: 26 additions & 0 deletions docs/AudioStream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Freeclimb::AudioStream

## Properties

| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **location** | **String** | The gRPC server location that will receive the grpc stream as a uri and must be port 80 or 443. | |
| **action_url** | **String** | 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** | **String** | The type and sample rate of the audio being received over the channel must match the environmental sample rate. | [optional] |
| **meta_data** | **Array&lt;String&gt;** | 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** | **Boolean** | Enables audio redaction with full call recording while gRPC session is running and blocks logging of any DTMFs received by FreeClimb. | [optional] |

## Example

```ruby
require 'freeclimb'

instance = Freeclimb::AudioStream.new(
location: null,
action_url: null,
content_type: null,
meta_data: null,
privacy_mode: null
)
```

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

## Properties

| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **request_type** | **String** | 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** | **String** | Unique ID for this Call, generated by FreeClimb. This is the call leg which ended its gRPC session. | [optional] |
| **account_id** | **String** | Account ID associated with your account. | [optional] |
| **from** | **String** | Phone number of the party that initiated the Call (in E.164 format). | [optional] |
| **to** | **String** | 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** | **String** | This is only populated if request pertains to a Conference. Otherwise, it is set to null. | [optional] |
| **queue_id** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional] |

## Example

```ruby
require 'freeclimb'

instance = Freeclimb::AudioStreamWebhook.new(
request_type: null,
call_id: null,
account_id: null,
from: null,
to: null,
call_status: null,
direction: null,
conference_id: null,
queue_id: null
)
```

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

Expand All @@ -19,6 +20,7 @@ instance = Freeclimb::AvailableNumber.new(
capabilities: null,
campaign_id: null,
phone_number: null,
_alias: null,
region: null,
country: null
)
Expand Down
18 changes: 17 additions & 1 deletion docs/CallResult.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
| **date_created** | **String** | 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** | **String** | 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** | **Integer** | 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** | **Time** | The date that this resource was created in ISO 8601 format (e.g., 2022-01-01T00:00:00.000Z). | [optional] |
| **date_updated_iso** | **Time** | The date that this resource was last updated in ISO 8601 format (e.g., 2022-01-01T00:00:00.000Z). | [optional] |
| **call_id** | **String** | String that uniquely identifies this Call resource. | [optional] |
| **parent_call_id** | **String** | ID of the Call that created this leg (child Call). | [optional] |
| **account_id** | **String** | ID of the account that owns this Call. | [optional] |
Expand All @@ -16,13 +18,19 @@
| **phone_number_id** | **String** | 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** | **String** | 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** | **Time** | 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** | **String** | 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** | **Time** | 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** | **String** | 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** | **Time** | 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** | **Integer** | 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** | **Integer** | 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** | **Integer** | 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** | **String** | The caller ID name (CNAM) for this Call. Empty if unavailable. | [optional] |
| **web_rtc** | **Boolean** | Indicates whether this Call was initiated via WebRTC. | [optional] |
| **subresource_uris** | [**CallResultAllOfSubresourceUris**](CallResultAllOfSubresourceUris.md) | | [optional] |
| **application_id** | **String** | ApplicationId associated with the Call. | [optional] |

## Example
Expand All @@ -35,6 +43,8 @@ instance = Freeclimb::CallResult.new(
date_created: null,
date_updated: null,
revision: null,
date_created_iso: null,
date_updated_iso: null,
call_id: null,
parent_call_id: null,
account_id: null,
Expand All @@ -43,12 +53,18 @@ instance = Freeclimb::CallResult.new(
phone_number_id: null,
status: null,
start_time: null,
start_time_iso: null,
connect_time: null,
connect_time_iso: null,
end_time: null,
end_time_iso: null,
duration: null,
connect_duration: null,
audio_stream_duration: null,
direction: null,
answered_by: null,
caller_name: null,
web_rtc: null,
subresource_uris: null,
application_id: null
)
Expand Down
20 changes: 20 additions & 0 deletions docs/CallResultAllOfSubresourceUris.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Freeclimb::CallResultAllOfSubresourceUris

## Properties

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

## Example

```ruby
require 'freeclimb'

instance = Freeclimb::CallResultAllOfSubresourceUris.new(
logs: null,
recordings: null
)
```

2 changes: 1 addition & 1 deletion docs/ConferenceResult.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
| **conference_id** | **String** | A string that uniquely identifies this Conference resource. | [optional] |
| **account_id** | **String** | ID of the account that created this Conference. | [optional] |
| **_alias** | **String** | 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** | **Boolean** | Flag indicating whether recording is enabled for this Conference. | [optional] |
| **status** | [**ConferenceStatus**](ConferenceStatus.md) | | [optional] |
| **wait_url** | **String** | 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
24 changes: 20 additions & 4 deletions docs/DefaultApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -3272,7 +3272,9 @@ api_instance = Freeclimb::DefaultApi.new
call_id = 'call_id_example' # String | String that uniquely identifies this call resource.

opts = {
date_created: 'date_created_example' # String | Only show recordings created on the specified date, in the form *YYYY-MM-DD*.
date_created: 'date_created_example', # String | Only show recordings created on the specified date, in the form *YYYY-MM-DD*.
start_time: 'start_time_example', # String | Only show Recordings created at or after this time, given as YYYY-MM-DD hh:mm:ss.
end_time: 'end_time_example' # String | Only show Recordings created at or before this time, given as YYYY-MM-DD hh:mm:ss.
}

begin
Expand Down Expand Up @@ -3309,6 +3311,8 @@ end
| ---- | ---- | ----------- | ----- |
| **call_id** | **String** | String that uniquely identifies this call resource. | |
| **date_created** | **String** | Only show recordings created on the specified date, in the form *YYYY-MM-DD*. | [optional] |
| **start_time** | **String** | Only show Recordings created at or after this time, given as YYYY-MM-DD hh:mm:ss. | [optional] |
| **end_time** | **String** | Only show Recordings created at or before this time, given as YYYY-MM-DD hh:mm:ss. | [optional] |


### Return type
Expand Down Expand Up @@ -3344,6 +3348,7 @@ end
api_instance = Freeclimb::DefaultApi.new

opts = {
used_audio_stream: true, # Boolean | If usedAudioStream is set to true then all calls that have a audioStreamDuration > 0 will be returned
active: true, # Boolean | If active is set to true then all calls of the nature queued, ringing, inProgress are returned in the query.
to: 'to_example', # String | Only show Calls to this phone number.
from: 'from_example', # String | Only show Calls from this phone number.
Expand All @@ -3353,7 +3358,8 @@ opts = {
parent_call_id: 'parent_call_id_example', # String | Only show Calls spawned by the call with this ID.
application_id: ['inner_example'], # Array<String> | Only show calls belonging to the given applicationId. This parameter can be repeated to return calls from multiple Applications.
risk_score_min: 56, # Integer | The minimum riskScore that should be included in the list.
risk_score_max: 56 # Integer | The maximum riskScore that should be included in the list.
risk_score_max: 56, # Integer | The maximum riskScore that should be included in the list.
web_rtc: true # Boolean | Only show Calls that were originated via WebRTC.
}

begin
Expand Down Expand Up @@ -3388,6 +3394,7 @@ end

| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
| **used_audio_stream** | **Boolean** | If usedAudioStream is set to true then all calls that have a audioStreamDuration &gt; 0 will be returned | [optional][default to false] |
| **active** | **Boolean** | If active is set to true then all calls of the nature queued, ringing, inProgress are returned in the query. | [optional][default to false] |
| **to** | **String** | Only show Calls to this phone number. | [optional] |
| **from** | **String** | Only show Calls from this phone number. | [optional] |
Expand All @@ -3398,6 +3405,7 @@ end
| **application_id** | [**Array&lt;String&gt;**](String.md) | Only show calls belonging to the given applicationId. This parameter can be repeated to return calls from multiple Applications. | [optional] |
| **risk_score_min** | **Integer** | The minimum riskScore that should be included in the list. | [optional] |
| **risk_score_max** | **Integer** | The maximum riskScore that should be included in the list. | [optional] |
| **web_rtc** | **Boolean** | Only show Calls that were originated via WebRTC. | [optional][default to false] |


### Return type
Expand Down Expand Up @@ -3436,7 +3444,9 @@ conference_id = 'conference_id_example' # String | Show only Recordings made dur

opts = {
call_id: 'call_id_example', # String | Show only Recordings made during the Call with this ID.
date_created: 'date_created_example' # String | Only show Recordings created on this date, formatted as *YYYY-MM-DD*.
date_created: 'date_created_example', # String | Only show Recordings created on this date, formatted as *YYYY-MM-DD*.
start_time: 'start_time_example', # String | Only show Recordings created at or after this time, given as YYYY-MM-DD hh:mm:ss.
end_time: 'end_time_example' # String | Only show Recordings created at or before this time, given as YYYY-MM-DD hh:mm:ss.
}

begin
Expand Down Expand Up @@ -3474,6 +3484,8 @@ end
| **conference_id** | **String** | Show only Recordings made during the conference with this ID. | |
| **call_id** | **String** | Show only Recordings made during the Call with this ID. | [optional] |
| **date_created** | **String** | Only show Recordings created on this date, formatted as *YYYY-MM-DD*. | [optional] |
| **start_time** | **String** | Only show Recordings created at or after this time, given as YYYY-MM-DD hh:mm:ss. | [optional] |
| **end_time** | **String** | Only show Recordings created at or before this time, given as YYYY-MM-DD hh:mm:ss. | [optional] |


### Return type
Expand Down Expand Up @@ -3906,7 +3918,9 @@ api_instance = Freeclimb::DefaultApi.new
opts = {
call_id: 'call_id_example', # String | Show only Recordings made during the Call with this ID.
conference_id: 'conference_id_example', # String | Show only Recordings made during the conference with this ID.
date_created: 'date_created_example' # String | Only show Recordings created on this date, formatted as *YYYY-MM-DD*.
date_created: 'date_created_example', # String | Only show Recordings created on this date, formatted as *YYYY-MM-DD*.
start_time: 'start_time_example', # String | Only show Recordings created at or after this time, given as YYYY-MM-DD hh:mm:ss.
end_time: 'end_time_example' # String | Only show Recordings created at or before this time, given as YYYY-MM-DD hh:mm:ss.
}

begin
Expand Down Expand Up @@ -3944,6 +3958,8 @@ end
| **call_id** | **String** | Show only Recordings made during the Call with this ID. | [optional] |
| **conference_id** | **String** | Show only Recordings made during the conference with this ID. | [optional] |
| **date_created** | **String** | Only show Recordings created on this date, formatted as *YYYY-MM-DD*. | [optional] |
| **start_time** | **String** | Only show Recordings created at or after this time, given as YYYY-MM-DD hh:mm:ss. | [optional] |
| **end_time** | **String** | Only show Recordings created at or before this time, given as YYYY-MM-DD hh:mm:ss. | [optional] |


### Return type
Expand Down
Loading
Loading