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 @@ -16,6 +16,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 @@ -27,6 +29,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 @@ -187,6 +190,8 @@ src/main/java/com/github/freeclimbapi/ApiResponse.java
src/main/java/com/github/freeclimbapi/ApplicationList.java
src/main/java/com/github/freeclimbapi/ApplicationRequest.java
src/main/java/com/github/freeclimbapi/ApplicationResult.java
src/main/java/com/github/freeclimbapi/AudioStream.java
src/main/java/com/github/freeclimbapi/AudioStreamWebhook.java
src/main/java/com/github/freeclimbapi/AvailableNumber.java
src/main/java/com/github/freeclimbapi/AvailableNumberList.java
src/main/java/com/github/freeclimbapi/BargeInReason.java
Expand All @@ -198,6 +203,7 @@ src/main/java/com/github/freeclimbapi/CallDirection.java
src/main/java/com/github/freeclimbapi/CallEndedReason.java
src/main/java/com/github/freeclimbapi/CallList.java
src/main/java/com/github/freeclimbapi/CallResult.java
src/main/java/com/github/freeclimbapi/CallResultAllOfSubresourceUris.java
src/main/java/com/github/freeclimbapi/CallStatus.java
src/main/java/com/github/freeclimbapi/CallStatusWebhook.java
src/main/java/com/github/freeclimbapi/Capabilities.java
Expand Down Expand Up @@ -357,6 +363,8 @@ src/test/java/com/github/freeclimbapi/AnsweredByTest.java
src/test/java/com/github/freeclimbapi/ApplicationListTest.java
src/test/java/com/github/freeclimbapi/ApplicationRequestTest.java
src/test/java/com/github/freeclimbapi/ApplicationResultTest.java
src/test/java/com/github/freeclimbapi/AudioStreamTest.java
src/test/java/com/github/freeclimbapi/AudioStreamWebhookTest.java
src/test/java/com/github/freeclimbapi/AvailableNumberListTest.java
src/test/java/com/github/freeclimbapi/AvailableNumberTest.java
src/test/java/com/github/freeclimbapi/BargeInReasonTest.java
Expand All @@ -367,6 +375,7 @@ src/test/java/com/github/freeclimbapi/CallControlWebhookTest.java
src/test/java/com/github/freeclimbapi/CallDirectionTest.java
src/test/java/com/github/freeclimbapi/CallEndedReasonTest.java
src/test/java/com/github/freeclimbapi/CallListTest.java
src/test/java/com/github/freeclimbapi/CallResultAllOfSubresourceUrisTest.java
src/test/java/com/github/freeclimbapi/CallResultTest.java
src/test/java/com/github/freeclimbapi/CallStatusTest.java
src/test/java/com/github/freeclimbapi/CallStatusWebhookTest.java
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="6.4.0"></a>

## [6.4.0] - 2026-04-06

### Added

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

<a name="6.3.0"></a>

## [6.3.0] - 2025-10-21
Expand Down
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Add this dependency to your project's POM:
<dependency>
<groupId>com.github.freeclimbapi</groupId>
<artifactId>freeclimb-java-client</artifactId>
<version>6.3.0</version>
<version>6.4.0</version>
<scope>compile</scope>
</dependency>
```
Expand All @@ -56,7 +56,9 @@ Add this dependency to your project's build file:
}

dependencies {
implementation "com.github.freeclimbapi:freeclimb-java-client:6.3.0"
implementation "com.github.freeclimbapi:freeclimb-java-client:6.4.0"
implementation("com.squareup.okhttp3:okhttp:4.9.3")
implementation("com.squareup.okhttp3:logging-interceptor:4.9.3")
}
```

Expand All @@ -70,7 +72,7 @@ mvn clean package

Then manually install the following JARs:

* `target/freeclimb-java-client-6.3.0.jar`
* `target/freeclimb-java-client-6.4.0.jar`
* `target/lib/*.jar`

## Getting Started
Expand All @@ -93,7 +95,7 @@ public class Example {
// Configure API client
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://www.freeclimb.com/apiserver");
defaultClient.setAccountId("YOUR_ACCOUNT_ID");
defaultClient.setAccountId("AC0123456789abcdefABCDEF0123456789abcdef00");
defaultClient.setApiKey("YOUR_API_KEY");

DefaultApi apiInstance = new DefaultApi(defaultClient);
Expand Down Expand Up @@ -224,6 +226,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 @@ -235,6 +239,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
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'

group = 'com.github.freeclimbapi'
version = '6.3.0'
version = '6.4.0'

buildscript {
repositories {
Expand Down Expand Up @@ -154,7 +154,7 @@ spotless {
// don't need to set target, it is inferred from java

// apply a specific flavor of google-java-format
googleJavaFormat('1.19.2').aosp().reflowLongStrings()
googleJavaFormat('1.24.0').aosp().reflowLongStrings()

removeUnusedImports()
importOrder()
Expand Down
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "com.github.freeclimbapi",
name := "freeclimb-java-client",
version := "6.3.0",
version := "6.4.0",
scalaVersion := "2.11.4",
scalacOptions ++= Seq("-feature"),
javacOptions in compile ++= Seq("-Xlint:deprecation"),
Expand Down
18 changes: 18 additions & 0 deletions docs/AudioStream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@


# 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** | **URI** | The gRPC server location that will receive the grpc stream as a uri and must be port 80 or 443. |
**actionUrl** | **URI** | 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]
**contentType** | **String** | The type and sample rate of the audio being received over the channel must match the environmental sample rate. | [optional]
**metaData** | **List&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]
**privacyMode** | **Boolean** | Enables audio redaction with full call recording while gRPC session is running and blocks logging of any DTMFs received by FreeClimb. | [optional]



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


# 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
------------ | ------------- | ------------- | -------------
**requestType** | **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]
**callId** | **String** | Unique ID for this Call, generated by FreeClimb. This is the call leg which ended its gRPC session. | [optional]
**accountId** | **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]
**callStatus** | **CallStatus** | | [optional]
**direction** | **CallDirection** | | [optional]
**conferenceId** | **String** | This is only populated if request pertains to a Conference. Otherwise, it is set to null. | [optional]
**queueId** | **String** | This is only populated if the request pertains to a Queue. Otherwise, it is set to null. | [optional]



1 change: 1 addition & 0 deletions docs/AvailableNumber.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Name | Type | Description | Notes
**capabilities** | [**Capabilities**](Capabilities.md) | | [optional]
**campaignId** | **String** | The campaign ID generated by the campaign registry | [optional]
**phoneNumber** | **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 Down
10 changes: 9 additions & 1 deletion docs/CallResult.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Name | Type | Description | Notes
**dateCreated** | **String** | The date that this resource was created (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT). | [optional]
**dateUpdated** | **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]
**dateCreatedISO** | **OffsetDateTime** | The date that this resource was created in ISO 8601 format (e.g., 2022-01-01T00:00:00.000Z). | [optional]
**dateUpdatedISO** | **OffsetDateTime** | The date that this resource was last updated in ISO 8601 format (e.g., 2022-01-01T00:00:00.000Z). | [optional]
**callId** | **String** | String that uniquely identifies this Call resource. | [optional]
**parentCallId** | **String** | ID of the Call that created this leg (child Call). | [optional]
**accountId** | **String** | ID of the account that owns this Call. | [optional]
Expand All @@ -19,13 +21,19 @@ Name | Type | Description | Notes
**phoneNumberId** | **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** | | [optional]
**startTime** | **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]
**startTimeISO** | **OffsetDateTime** | 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]
**connectTime** | **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]
**connectTimeISO** | **OffsetDateTime** | 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]
**endTime** | **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]
**endTimeISO** | **OffsetDateTime** | 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]
**connectDuration** | **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]
**audioStreamDuration** | **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** | | [optional]
**answeredBy** | **AnsweredBy** | | [optional]
**subresourceUris** | **Object** | The list of subresources for this Call. These include things like logs and recordings associated with the Call. | [optional]
**callerName** | **String** | The caller ID name (CNAM) for this Call. Empty if unavailable. | [optional]
**webRTC** | **Boolean** | Indicates whether this Call was initiated via WebRTC. | [optional]
**subresourceUris** | [**CallResultAllOfSubresourceUris**](CallResultAllOfSubresourceUris.md) | | [optional]
**applicationId** | **String** | ApplicationId associated with the Call. | [optional]


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


# 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** | **String** | The URI for the logs associated with this Call. | [optional]
**recordings** | **String** | The URI for the recordings associated with this Call. | [optional]



2 changes: 1 addition & 1 deletion docs/ConferenceResult.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Name | Type | Description | Notes
**conferenceId** | **String** | A string that uniquely identifies this Conference resource. | [optional]
**accountId** | **String** | ID of the account that created this Conference. | [optional]
**alias** | **String** | A description for this Conference. | [optional]
**playBeep** | **PlayBeep** | | [optional]
**playBeep** | **PlayBeep** | 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** | | [optional]
**waitUrl** | **URI** | 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