RequestId for this request starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response, e.g. X-Pulse-Request-Id: <requestId>
A human readable description of the application, with maximum length 64 characters.
[optional]
voice_url
str
The URL that FreeClimb will request when an inbound call arrives on a phone number assigned to this application. Used only for inbound calls.
[optional]
voice_fallback_url
str
The URL that FreeClimb will request if it times out waiting for a response from the voiceUrl. Used for inbound calls only. Note: A PerCL response is expected to control the inbound call.
[optional]
call_connect_url
str
The URL that FreeClimb will request when an outbound call request is complete. Used for outbound calls only. Note: A PerCL response is expected if the outbound call is connected (status=InProgress) to control the call.
[optional]
status_callback_url
str
The URL that FreeClimb will request to pass call status (such as call ended) to the application. Note: This is a notification only; any PerCL returned will be ignored.
[optional]
sms_url
str
The URL that FreeClimb will request when a phone number assigned to this application receives an incoming SMS message. Used for inbound SMS only. Note: Any PerCL returned will be ignored.
[optional]
sms_fallback_url
str
The URL that FreeClimb will request if it times out waiting for a response from the smsUrl. Used for inbound SMS only. Note: Any PerCL returned will be ignored.
[optional]
request_id
str
The requestId for this request starting with prefix \"RQ\" followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response, e.g. X-Pulse-Request-Id: <requestId>
The URI for this resource, relative to /apiserver.
[optional]
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]
account_id
str
ID of the account that owns this phone number.
[optional]
application_id
str
ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId.
[optional]
alias
str
Description for this phone number. Typically the conventionally-formatted version of the phone number.
[optional]
voice_url
str
The URL FreeClimb will request when a phone number assigned to this Application receives a Call. Used for inbound calls only.
[optional]
voice_fallback_url
str
The URL that FreeClimb will request if it times out waiting for a response from the voiceUrl. Used for inbound calls only.
[optional]
call_connect_url
str
The URL to which FreeClimb will make a POST request informing the result of the outbound Call request. The status property of the request message specifies if the Call was connected or not.
[optional]
status_callback_url
str
A URL to which FreeClimb will make a POST request when the Call ends to notify this app.
[optional]
sms_url
str
The URL FreeClimb will request when a phone number assigned to this Application receives an incoming SMS message. Used for inbound SMS only.
[optional]
sms_fallback_url
str
The URL that FreeClimb will request if it times out waiting for a response from the smsUrl. Used for inbound SMS only.
ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId.
[optional]
alias
str
Description for this phone number. Typically the conventionally-formatted version of the phone number.
[optional]
voice_url
str
The URL FreeClimb will request when a phone number assigned to this Application receives a Call. Used for inbound calls only.
[optional]
voice_fallback_url
str
The URL that FreeClimb will request if it times out waiting for a response from the voiceUrl. Used for inbound calls only.
[optional]
call_connect_url
str
The URL to which FreeClimb will make a POST request informing the result of the outbound Call request. The status property of the request message specifies if the Call was connected or not.
[optional]
status_callback_url
str
A URL to which FreeClimb will make a POST request when the Call ends to notify this app.
[optional]
sms_url
str
The URL FreeClimb will request when a phone number assigned to this Application receives an incoming SMS message. Used for inbound SMS only.
[optional]
sms_fallback_url
str
The URL that FreeClimb will request if it times out waiting for a response from the smsUrl. Used for inbound SMS only.
Phone number to purchase in E.164 format (as returned in the list of Available Phone Numbers).
alias
str
Description for this new incoming phone number (max 64 characters).
[optional]
application_id
str
ID of the application that should handle phone calls to the number.
[optional]
request_id
str
RequestId for this request starting with prefix `RQ` followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response, (e.g., `X-Pulse-Request-Id: <requestId>`).
The URI for this resource, relative to /apiserver.
[optional]
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]
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]
_from
str
Phone number that initiated this Call.
[optional]
to
str
Phone number that received this Call.
[optional]
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
str
* `queued` – Call is ready and waiting in line before going out. * `ringing` – Call is currently ringing. * `inProgress` – Call was answered and is currently in progress. * `canceled` – Call was hung up while it was queued or ringing. * `completed` – Call was answered and has ended normally. * `busy` – Caller received a busy signal. * `failed` – Call could not be completed as dialed, most likely because the phone number was non-existent. * `noAnswer` – Call ended without being answered.
[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]
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]
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]
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]
direction
str
Direction of the Call. `inbound` for Calls into FreeClimb, `outboundAPI` for Calls initiated via the REST API, `outboundDial` for Calls initiated by the `OutDial` PerCL command.
[optional]
answered_by
str
If this Call was initiated with answering machine detection, either `human` or `machine`. Empty otherwise.
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]
_from
str
Phone number that initiated this Call.
[optional]
to
str
Phone number that received this Call.
[optional]
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
str
* `queued` – Call is ready and waiting in line before going out. * `ringing` – Call is currently ringing. * `inProgress` – Call was answered and is currently in progress. * `canceled` – Call was hung up while it was queued or ringing. * `completed` – Call was answered and has ended normally. * `busy` – Caller received a busy signal. * `failed` – Call could not be completed as dialed, most likely because the phone number was non-existent. * `noAnswer` – Call ended without being answered.
[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]
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]
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]
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]
direction
str
Direction of the Call. `inbound` for Calls into FreeClimb, `outboundAPI` for Calls initiated via the REST API, `outboundDial` for Calls initiated by the `OutDial` PerCL command.
[optional]
answered_by
str
If this Call was initiated with answering machine detection, either `human` or `machine`. Empty otherwise.
A description for this Conference. Maximum 64 characters.
[optional]
play_beep
str
Controls when a beep is played. Valid values: `always`, `never`, `entryOnly`, `exitOnly`.
[optional] [default to ‘always’]
record
bool
Setting to `true` records the entire Conference.
[optional]
wait_url
str
If specified, a URL for the audio file that provides custom hold music for the Conference when it is in the populated state. Otherwise, FreeClimb uses a system default audio file. This is always fetched using HTTP GET and is fetched just once — when the Conference is created.
[optional]
status_callback_url
str
This URL is invoked when the status of the Conference changes. For more information, see statusCallbackUrl (below).
[optional]
request_id
str
The requestId for this request starting with prefix \"RQ\" followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ buy_incoming_number_request=freeclimb.BuyIncomingNumberRequest()# BuyIncomingNumberRequest | Incoming Number transaction details (optional)
+
+ try:
+ # Buy a Phone Number
+api_response=api_instance.buy_a_phone_number(buy_incoming_number_request=buy_incoming_number_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->buy_a_phone_number: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ create_conference_request=freeclimb.CreateConferenceRequest()# CreateConferenceRequest | Conference to create (optional)
+
+ try:
+ # Create a Conference
+api_response=api_instance.create_a_conference(create_conference_request=create_conference_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->create_a_conference: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ queue_request=freeclimb.QueueRequest()# QueueRequest | Queue details used to create a queue (optional)
+
+ try:
+ # Create a Queue
+api_response=api_instance.create_a_queue(queue_request=queue_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->create_a_queue: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ application_request=freeclimb.ApplicationRequest()# ApplicationRequest | Application Details (optional)
+
+ try:
+ # Create an application
+api_response=api_instance.create_an_application(application_request=application_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->create_an_application: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ recording_id='recording_id_example'# str | String that uniquely identifies this recording resource.
+
+ try:
+ # Delete a Recording
+api_instance.delete_a_recording(recording_id)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->delete_a_recording: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
recording_id
str
String that uniquely identifies this recording resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ application_id='application_id_example'# str | String that uniquely identifies this application resource.
+
+ try:
+ # Delete an application
+api_instance.delete_an_application(application_id)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->delete_an_application: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
application_id
str
String that uniquely identifies this application resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ phone_number_id='phone_number_id_example'# str | String that uniquely identifies this phone number resource.
+
+ try:
+ # Delete an Incoming Number
+api_instance.delete_an_incoming_number(phone_number_id)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->delete_an_incoming_number: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
phone_number_id
str
String that uniquely identifies this phone number resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ queue_id='queue_id_example'# str | String that uniquely identifies the Queue that the Member belongs to.
+call_id='call_id_example'# str | ID if the Call that the Member belongs to
+dequeue_member_request=freeclimb.DequeueMemberRequest()# DequeueMemberRequest | Dequeue member request details (optional)
+
+ try:
+ # Dequeue a Member
+api_response=api_instance.dequeue_a_member(queue_id,call_id,dequeue_member_request=dequeue_member_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->dequeue_a_member: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
queue_id
str
String that uniquely identifies the Queue that the Member belongs to.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ queue_id='queue_id_example'# str | String that uniquely identifies this queue resource.
+dequeue_member_request=freeclimb.DequeueMemberRequest()# DequeueMemberRequest | Dequeue head member request details (optional)
+
+ try:
+ # Dequeue Head Member
+api_response=api_instance.dequeue_head_member(queue_id,dequeue_member_request=dequeue_member_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->dequeue_head_member: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
queue_id
str
String that uniquely identifies this queue resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ recording_id='recording_id_example'# str | String that uniquely identifies this recording resource.
+
+ try:
+ # Download a Recording File
+api_response=api_instance.download_a_recording_file(recording_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->download_a_recording_file: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
recording_id
str
String that uniquely identifies this recording resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ filter_logs_request=freeclimb.FilterLogsRequest()# FilterLogsRequest | Filter logs request paramters (optional)
+
+ try:
+ # Filter Logs
+api_response=api_instance.filter_logs(filter_logs_request=filter_logs_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->filter_logs: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ call_id='call_id_example'# str | String that uniquely identifies this call resource.
+
+ try:
+ # Get a Call
+api_response=api_instance.get_a_call(call_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_a_call: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
call_id
str
String that uniquely identifies this call resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ conference_id='conference_id_example'# str | A string that uniquely identifies this conference resource.
+
+ try:
+ # Get a Conference
+api_response=api_instance.get_a_conference(conference_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_a_conference: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
conference_id
str
A string that uniquely identifies this conference resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ queue_id='queue_id_example'# str | String that uniquely identifies the Queue that the Member belongs to.
+call_id='call_id_example'# str | ID of the Call that the Member belongs to
+
+ try:
+ # Get a Member
+api_response=api_instance.get_a_member(queue_id,call_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_a_member: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
queue_id
str
String that uniquely identifies the Queue that the Member belongs to.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ conference_id='conference_id_example'# str | ID of the conference this participant is in.
+call_id='call_id_example'# str | ID of the Call associated with this participant.
+
+ try:
+ # Get a Participant
+api_response=api_instance.get_a_participant(conference_id,call_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_a_participant: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ queue_id='queue_id_example'# str | A string that uniquely identifies this queue resource.
+
+ try:
+ # Get a Queue
+api_response=api_instance.get_a_queue(queue_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_a_queue: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
queue_id
str
A string that uniquely identifies this queue resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ recording_id='recording_id_example'# str | String that uniquely identifies this recording resource.
+
+ try:
+ # Get a Recording
+api_response=api_instance.get_a_recording(recording_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_a_recording: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
recording_id
str
String that uniquely identifies this recording resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+
+ try:
+ # Get an Account
+api_response=api_instance.get_an_account()
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_an_account: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ application_id='application_id_example'# str | A string that uniquely identifies this application resource.
+
+ try:
+ # Get an Application
+api_response=api_instance.get_an_application(application_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_an_application: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
application_id
str
A string that uniquely identifies this application resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ phone_number_id='phone_number_id_example'# str | String that uniquely identifies this phone number resource.
+
+ try:
+ # Get an Incoming Number
+api_response=api_instance.get_an_incoming_number(phone_number_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_an_incoming_number: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
phone_number_id
str
String that uniquely identifies this phone number resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ message_id='message_id_example'# str | String that uniquely identifies this Message resource.
+
+ try:
+ # Get an SMS Message
+api_response=api_instance.get_an_sms_message(message_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_an_sms_message: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
message_id
str
String that uniquely identifies this Message resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ queue_id='queue_id_example'# str | String that uniquely identifies the Queue that the Member belongs to.
+
+ try:
+ # Get Head Member
+api_response=api_instance.get_head_member(queue_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->get_head_member: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
queue_id
str
String that uniquely identifies the Queue that the Member belongs to.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ alias='alias_example'# str | Return only the Queue resources with aliases that exactly match this name. (optional)
+
+ try:
+ # List Active Queues
+api_response=api_instance.list_active_queues(alias=alias)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_active_queues: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
alias
str
Return only the Queue resources with aliases that exactly match this name.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+
+ try:
+ # List All Account Logs
+api_response=api_instance.list_all_account_logs()
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_all_account_logs: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ alias='alias_example'# str | Return only applications with aliases that exactly match this value. (optional)
+
+ try:
+ # List applications
+api_response=api_instance.list_an_application(alias=alias)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_an_application: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
alias
str
Return only applications with aliases that exactly match this value.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ alias='alias_example'# str | Filter on numbers based on the formatted string of the phone number. (optional)
+phone_number='phone_number_example'# str | PCRE-compatible regular expression to filter against `phoneNumber` field, which is in E.164 format. (optional)
+
+ try:
+ # List available numbers
+api_response=api_instance.list_available_numbers(alias=alias,phone_number=phone_number)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_available_numbers: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
alias
str
Filter on numbers based on the formatted string of the phone number.
[optional]
phone_number
str
PCRE-compatible regular expression to filter against `phoneNumber` field, which is in E.164 format.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ call_id='call_id_example'# str | String that uniquely identifies this call resource.
+
+ try:
+ # List Call Logs
+api_response=api_instance.list_call_logs(call_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_call_logs: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
call_id
str
String that uniquely identifies this call resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ call_id='call_id_example'# str | String that uniquely identifies this call resource.
+date_created='date_created_example'# str | Only show recordings created on the specified date, in the form *YYYY-MM-DD*. (optional)
+
+ try:
+ # List Call Recordings
+api_response=api_instance.list_call_recordings(call_id,date_created=date_created)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_call_recordings: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
call_id
str
String that uniquely identifies this call resource.
date_created
str
Only show recordings created on the specified date, in the form YYYY-MM-DD.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ to='to_example'# str | Only show Calls to this phone number. (optional)
+_from='_from_example'# str | Only show Calls from this phone number. (optional)
+status='status_example'# str | Only show Calls currently in this status. May be `queued`, `ringing`, `inProgress`, `canceled`, `completed`, `failed`, `busy`, or `noAnswer`. (optional)
+start_time='start_time_example'# str | Only show Calls that started at or after this time, given as YYYY-MM-DD hh:mm:ss. (optional)
+end_time='end_time_example'# str | Only show Calls that ended at or before this time, given as YYYY-MM- DD hh:mm:ss. (optional)
+parent_call_id='parent_call_id_example'# str | Only show Calls spawned by the call with this ID. (optional)
+
+ try:
+ # List Calls
+api_response=api_instance.list_calls(to=to,_from=_from,status=status,start_time=start_time,end_time=end_time,parent_call_id=parent_call_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_calls: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
to
str
Only show Calls to this phone number.
[optional]
_from
str
Only show Calls from this phone number.
[optional]
status
str
Only show Calls currently in this status. May be `queued`, `ringing`, `inProgress`, `canceled`, `completed`, `failed`, `busy`, or `noAnswer`.
[optional]
start_time
str
Only show Calls that started at or after this time, given as YYYY-MM-DD hh:mm:ss.
[optional]
end_time
str
Only show Calls that ended at or before this time, given as YYYY-MM- DD hh:mm:ss.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ status='status_example'# str | Only show conferences that currently have the specified status. Valid values: `empty`, `populated`, `inProgress`, or `terminated`. (optional)
+alias='alias_example'# str | List Conferences whose alias exactly matches this string. (optional)
+date_created='date_created_example'# str | Only show Conferences that were created on the specified date, in the form *YYYY-MM-DD*. (optional)
+date_updated='date_updated_example'# str | Only show Conferences that were last updated on the specified date, in the form *YYYY-MM-DD*. (optional)
+
+ try:
+ # List Conferences
+api_response=api_instance.list_conferences(status=status,alias=alias,date_created=date_created,date_updated=date_updated)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_conferences: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
status
str
Only show conferences that currently have the specified status. Valid values: `empty`, `populated`, `inProgress`, or `terminated`.
[optional]
alias
str
List Conferences whose alias exactly matches this string.
[optional]
date_created
str
Only show Conferences that were created on the specified date, in the form YYYY-MM-DD.
[optional]
date_updated
str
Only show Conferences that were last updated on the specified date, in the form YYYY-MM-DD.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ phone_number='phone_number_example'# str | Only show incoming phone number resources that match this PCRE-compatible regular expression. (optional)
+alias='alias_example'# str | Only show incoming phone numbers with aliases that exactly match this value. (optional)
+
+ try:
+ # List Incoming Numbers
+api_response=api_instance.list_incoming_numbers(phone_number=phone_number,alias=alias)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_incoming_numbers: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
phone_number
str
Only show incoming phone number resources that match this PCRE-compatible regular expression.
[optional]
alias
str
Only show incoming phone numbers with aliases that exactly match this value.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ queue_id='queue_id_example'# str | String that uniquely identifies the Queue that the Member belongs to.
+
+ try:
+ # List Members
+api_response=api_instance.list_members(queue_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_members: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
queue_id
str
String that uniquely identifies the Queue that the Member belongs to.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ conference_id='conference_id_example'# str | ID of the conference this participant is in.
+talk=True# bool | Only show Participants with the talk privilege. (optional)
+listen=True# bool | Only show Participants with the listen privilege. (optional)
+
+ try:
+ # List Participants
+api_response=api_instance.list_participants(conference_id,talk=talk,listen=listen)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_participants: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ call_id='call_id_example'# str | Show only Recordings made during the Call with this ID. (optional)
+conference_id='conference_id_example'# str | Show only Recordings made during the conference with this ID. (optional)
+date_created='date_created_example'# str | Only show Recordings created on this date, formatted as *YYYY-MM-DD*. (optional)
+
+ try:
+ # List Recordings
+api_response=api_instance.list_recordings(call_id=call_id,conference_id=conference_id,date_created=date_created)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_recordings: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
call_id
str
Show only Recordings made during the Call with this ID.
[optional]
conference_id
str
Show only Recordings made during the conference with this ID.
[optional]
date_created
str
Only show Recordings created on this date, formatted as YYYY-MM-DD.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ to='to_example'# str | Only show Messages to this phone number. (optional)
+_from='_from_example'# str | Only show Messages from this phone number. (optional)
+begin_time='begin_time_example'# str | Only show Messages sent at or after this time (GMT), given as *YYYY-MM-DD hh:mm:ss*. (optional)
+end_time='end_time_example'# str | Only show messages sent at or before this time (GMT), given as *YYYY-MM-DD hh:mm*.. (optional)
+direction='direction_example'# str | Either `inbound` or `outbound`. Only show Messages that were either *sent from* or *received by* FreeClimb. (optional)
+account_id='account_id_example'# str | String that uniquely identifies this account resource. (optional)
+
+ try:
+ # List SMS Messages
+api_response=api_instance.list_sms_messages(to=to,_from=_from,begin_time=begin_time,end_time=end_time,direction=direction,account_id=account_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->list_sms_messages: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
to
str
Only show Messages to this phone number.
[optional]
_from
str
Only show Messages from this phone number.
[optional]
begin_time
str
Only show Messages sent at or after this time (GMT), given as YYYY-MM-DD hh:mm:ss.
[optional]
end_time
str
Only show messages sent at or before this time (GMT), given as YYYY-MM-DD hh:mm..
[optional]
direction
str
Either `inbound` or `outbound`. Only show Messages that were either sent from or received by FreeClimb.
[optional]
account_id
str
String that uniquely identifies this account resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ make_call_request=freeclimb.MakeCallRequest()# MakeCallRequest | Call details for making a call (optional)
+
+ try:
+ # Make a Call
+api_response=api_instance.make_a_call(make_call_request=make_call_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->make_a_call: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ conference_id='conference_id_example'# str | ID of the conference this participant is in.
+call_id='call_id_example'# str | ID of the Call associated with this participant.
+
+ try:
+ # Remove a Participant
+api_instance.remove_a_participant(conference_id,call_id)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->remove_a_participant: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ message_request=freeclimb.MessageRequest()# MessageRequest | Details to create a message (optional)
+
+ try:
+ # Send an SMS Message
+api_response=api_instance.send_an_sms_message(message_request=message_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->send_an_sms_message: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ recording_id='recording_id_example'# str | String that uniquely identifies this recording resource.
+
+ try:
+ # Stream a Recording File
+api_response=api_instance.stream_a_recording_file(recording_id)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->stream_a_recording_file: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
recording_id
str
String that uniquely identifies this recording resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ conference_id='conference_id_example'# str | String that uniquely identifies this conference resource.
+update_conference_request=freeclimb.UpdateConferenceRequest()# UpdateConferenceRequest | Conference Details to update (optional)
+
+ try:
+ # Update a Conference
+api_response=api_instance.update_a_conference(conference_id,update_conference_request=update_conference_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->update_a_conference: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
conference_id
str
String that uniquely identifies this conference resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ call_id='call_id_example'# str | String that uniquely identifies this call resource.
+update_call_request=freeclimb.UpdateCallRequest()# UpdateCallRequest | Call details to update (optional)
+
+ try:
+ # Update a Live Call
+api_instance.update_a_live_call(call_id,update_call_request=update_call_request)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->update_a_live_call: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
call_id
str
String that uniquely identifies this call resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ conference_id='conference_id_example'# str | ID of the conference this participant is in.
+call_id='call_id_example'# str | ID of the Call associated with this participant.
+update_conference_participant_request=freeclimb.UpdateConferenceParticipantRequest()# UpdateConferenceParticipantRequest | Conference participant details to update (optional)
+
+ try:
+ # Update a Participant
+api_response=api_instance.update_a_participant(conference_id,call_id,update_conference_participant_request=update_conference_participant_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->update_a_participant: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ queue_id='queue_id_example'# str | A string that uniquely identifies this Queue resource.
+queue_request=freeclimb.QueueRequest()# QueueRequest | Queue Details to update (optional)
+
+ try:
+ # Update a Queue
+api_response=api_instance.update_a_queue(queue_id,queue_request=queue_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->update_a_queue: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
queue_id
str
A string that uniquely identifies this Queue resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ account_request=freeclimb.AccountRequest()# AccountRequest | Account details to update (optional)
+
+ try:
+ # Manage an account
+api_instance.update_an_account(account_request=account_request)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->update_an_account: %s\n"%e)
+
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ application_id='application_id_example'# str | A string that uniquely identifies this application resource.
+application_request=freeclimb.ApplicationRequest()# ApplicationRequest | Application details to update. (optional)
+
+ try:
+ # Update an application
+api_response=api_instance.update_an_application(application_id,application_request=application_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->update_an_application: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
application_id
str
A string that uniquely identifies this application resource.
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ phone_number_id='phone_number_id_example'# str | String that uniquely identifies this phone number resource.
+incoming_number_request=freeclimb.IncomingNumberRequest()# IncomingNumberRequest | Incoming Number details to update (optional)
+
+ try:
+ # Update an Incoming Number
+api_response=api_instance.update_an_incoming_number(phone_number_id,incoming_number_request=incoming_number_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->update_an_incoming_number: %s\n"%e)
+
Parameters
Name
Type
Description
Notes
phone_number_id
str
String that uniquely identifies this phone number resource.
RequestId for this request starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request include this requestId. If it is not provided, FreeClimb generates a requestId and returns it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
The filter query for retrieving logs. See Performance Query Language below.
request_id
str
RequestId for this request starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
ID of the Application that should handle calls to this number.
[optional]
alias
str
Description for this phone number.
[optional]
request_id
str
RequestId for this request starting with prefix `RQ` followed by 40 hexadecimal characters. FreeClimb logs that are generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g., `X-Pulse-Request-Id: <requestId>`).
The URI for this resource, relative to /apiserver.
[optional]
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]
phone_number_id
str
String that uniquely identifies this phone number resource.
[optional]
account_id
str
ID of the account that owns this phone number.
[optional]
application_id
str
ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId.
[optional]
phone_number
str
Phone number in E.164 format.
[optional]
alias
str
Description for this phone number. Typically the conventionally-formatted version of the phone number.
[optional]
region
str
State or province of this phone number.
[optional]
country
str
Country of this phone number.
[optional]
voice_enabled
bool
Indicates whether the phone number can handle Calls. Typically set to true for all numbers.
[optional]
sms_enabled
bool
Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers.
String that uniquely identifies this phone number resource.
[optional]
account_id
str
ID of the account that owns this phone number.
[optional]
application_id
str
ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId.
[optional]
phone_number
str
Phone number in E.164 format.
[optional]
alias
str
Description for this phone number. Typically the conventionally-formatted version of the phone number.
[optional]
region
str
State or province of this phone number.
[optional]
country
str
Country of this phone number.
[optional]
voice_enabled
bool
Indicates whether the phone number can handle Calls. Typically set to true for all numbers.
[optional]
sms_enabled
bool
Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers.
Phone number to use as the caller ID. This can be: (a) The To or From number provided in FreeClimb's initial request to your app or (b) Any incoming phone number you have purchased from FreeClimb.
to
str
Phone number to place the Call to.
application_id
str
ID of the application FreeClimb should use to handle this phone call. FreeClimb will use the `callConnectUrl` and `statusCallbackUrl` set on the application. The application must have a `callConnectUrl` associated with it or an error will be returned. The application’s `voiceUrl` parameter is not used for outbound calls.
send_digits
str
String of digits to dial after connecting to the number. It can include digits `0-9`, ``, and `#`, and allows embedding a pause between the output of individual digits. The default pause is 500 milliseconds. So, a string such as *1234# will be played in 2 seconds because of the 4 standard pauses implied within the string. A custom pause is specified by including a positive integer wrapped in curly braces: {n}. For more information, see sendDigits examples below.
[optional]
if_machine
str
Specifies how FreeClimb should handle this Call if an answering machine answers it.
[optional]
if_machine_url
str
This attribute specifies a URL to which FreeClimb will make a POST request when an answering machine or a fax machine is detected. This URL is required if the ifMachine flag is set to redirect. When ifMachine is set to hangup, ifMachineUrl must not be included in the request. For more information, see ifMachineUrl example below.
[optional]
timeout
int
Number of seconds that FreeClimb should allow the phone to ring before assuming there is no answer. Default is 30 seconds. Maximum allowed ring-time is determined by the target phone's provider. Note that most providers limit ring-time to 120 seconds.
[optional]
request_id
str
The requestId for this request starting with prefix \"RQ\" followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g. `X-Pulse-Request-Id: <requestId>`).
[optional]
parent_call_id
str
The ID of the parent Call in the case that this new Call is meant to be treated as a child of an existing Call. This attribute should be included when possible to reduce latency when adding child calls to Conferences containing the parent Call. A call can only be used as a parent once the call is in progress or as an inbound call that is still ringing. An outbound call is considered to be in progress once the outdialConnect or outdialApiConnect webhook is invoked. An inbound call is ringing when the inbound webhook is invoked.
The URI for this resource, relative to /apiserver.
[optional]
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]
_from
str
Phone number to use as the sender. This must be an incoming phone number that you have purchased from FreeClimb.
to
str
Phone number to receive the message. Must be within FreeClimb's service area.
text
str
Text contained in the message (maximum 160 characters). Note: For text, only ASCII characters are supported.
notification_url
str
When the Message changes status, this URL is invoked using HTTP POST with the messageStatus parameters. Note: This is a notification only; any PerCL returned is ignored.
[optional]
request_id
str
RequestId for this request, starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
[optional]
account_id
str
String that uniquely identifies this account resource.
Phone number to use as the sender. This must be an incoming phone number that you have purchased from FreeClimb.
to
str
Phone number to receive the message. Must be within FreeClimb's service area.
text
str
Text contained in the message (maximum 160 characters). Note: For text, only ASCII characters are supported.
notification_url
str
When the Message changes status, this URL is invoked using HTTP POST with the messageStatus parameters. Note: This is a notification only; any PerCL returned is ignored.
[optional]
request_id
str
RequestId for this request, starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
[optional]
account_id
str
String that uniquely identifies this account resource.
The Performance Command Language (PerCL) defines a set of instructions, written in JSON format, that express telephony actions to be performed in response to an event on the FreeClimb platform. FreeClimb communicates with the application server when events associated with the application occur, so the webserver can instruct FreeClimb how to handle such events using PerCL scripts. For further details on PerCL, visit the PerCL Documentation.
PerCL example generation
importfreeclimb
+
+say=freeclimb.Say(text="Hello! This is a message sent using FreeClimb's Python SDK.")
+returnfreeclimb.PerCLCommand.to_json(say.to_dict())
+
The JSON object below represents the PerCL object generated by the commands above.
[
+ {
+ "Say":{
+ "text":"Hello! This is a message sent using FreeClimb's Python SDK."
+ }
+ }
+]
+
The AddToConference command adds a Participant to a Conference. If this Participant currently is in another Conference, the Participant is first removed from that Conference. Two Call legs can be bridged together by creating a Conference and adding both Call legs to it via AddToConference.
ID of the Conference to which to add the Participant (Call leg). Conference must exist or an error will result.
Required
call_id
string
ID of the Call that will be added to the specified Conference. The Call must be in progress or an error will result.
Required
start_conf_on_enter
boolean
Flag that indicates whether a Conference starts upon entry of this particular Participant.
Optional
talk
boolean
If true, the Participant joins the Conference with talk privileges.
Optional
listen
boolean
If true, the Participant joins the Conference with listen privileges. This may be modified later via the REST API or SetListen PerCL command.
Optional
allow_call_control
boolean
If true, Call control will be enabled for this Participant’s Call leg.
Optional
call_control_sequence
string
Defines a sequence of digits that, when entered by this caller, invokes the call_control_url. Only digits plus ‘*’, and ‘#’ may be used.
Required only when allow_call_control is set to true
call_control_url
absolute URL
URL to be invoked when this Participant enters the digit sequence defined in the callControlSequence attribute.
Required only when allow_call_control is set to true
leave_conference_url
absolute URL
URL to be invoked when the Participant leaves the Conference via any of the following methods: RemoveFromConference,TerminateConference, Conference Participant API DELETE request, Conference API POST request with status=empty, Conference API POST request with status=terminated, Participant hangs up
optional
notification_url
absolute URL
When the Participant enters the Conference, this URL will be invoked using an HTTP POST request with the standard request parameters.
optional
CreateConference
The CreateConference command does exactly what its name implies — it creates an unpopulated Conference (one without any Participants). Once created, a Conference remains in FreeClimb until explicitly terminated by a customer. Once a Conference has been terminated, it can no longer be used.
CreateConference is a terminal command (any actions following it are never executed). When the Conference is successfully created, FreeClimb invokes the provided actionUrl using an HTTP POST with a createConference Webhook as the body. After this request, control picks up using the PerCL code received in the response.
This URL is invoked once the Conference is successfully created.
Required
alias
string
Descriptive name for the Conference.
Optional
play_beep
always, never, entryOnly, or exitOnly
Indicates whether to play a beep when a Participant enters or leaves the Conference.
Optional
record
boolean
When set to true, the entire Conference is recorded. The statusCallbackUrl of the Conference will receive a conferenceRecordingEnded Webhook when the Conference transitions from the inProgress to empty state.
Optional
wait_url
absolute URL
If specified, this URL provides the custom hold music for the Conference when it is in the populated state.
Optional
status_callback_url
This URL is invoked when the status of the Conference changes or when a recording of the Conference has become available.
Optional
Dequeue
The Dequeue command transfers control of a Call that is in a Queue so that the waiting caller exits the Queue. Execution continues with the first command in the PerCL script returned by the actionUrl specified in the Enqueue command.
The Enqueue command adds the current Call to a call Queue. If the specified Queue does not exist, it is created and then the Call is added to it. The default maximum length of the queue is 100. This can be modified using the REST API.
ID of the Queue to which to add the Call. If the Queue does not exist, it will be created.
Optional
action_url
absolute URL
A request is made to this URL when the Call leaves the Queue, which can occur if enqueue of the Call fails or when the call is dequeued via the Dequeue command, the REST API (POST to Queue Member resource), or the caller hangs up
Required
wait_url
absolute URL
Specifies a URL pointing to a PerCL script containing actions to be executed while the caller is waiting in the Queue.
Maximum time in milliseconds that FreeClimb will wait for the Caller to press the first digit
Optional
digit_timeout_ms
integer > 0
Maximum time in milliseconds that FreeClimb will wait for the Caller to press any digit after the last digit entered
Optional
finish_on_key
any digit, #, *
Digit that causes the input sequence to be deemed complete.
Optional
min_digits
integer >= 0
Minimum number of digits expected in the input.
Optional
max_digits
integer >= 0
Maximum number of digits expected in the input.
Optional
flush_buffer
boolean
If true, the FreeClimb platform starts with an empty DTMF buffer to store the digits entered by the caller. If false, FreeClimb will append the user inputs to the end of the existing digits buffer and will return digits from the start of the digits buffer.
Optional
prompts
PerCL command array
JSON array of PerCL commands to nest within the GetDigits command.
Optional
enforcePCI
boolean
Parameter enforcePCI obscures the result as required by PCI compliance.
Optional
GetSpeech
The GetSpeech command enables the Caller to respond to the application using a supported language. Unlike DTMF entry, which implicitly restricts the user to using the available buttons on the phone key pad, speech input allows for flexible audio inputs based on grammar. FreeClimb supports grammars written using GRXML compatible with the Microsoft Speech Platform.
When the caller has finished speaking or the command has timed out, FreeClimb will make a POST request to this URL.
Required
grammar_type
URL or BUILTIN
The grammar file type to use for speech recognition.
optional
grammar_file
absolute URL or built-in grammar file
The grammar file to use for speech recognition.
Required
grammar_rule
string
The grammar rule within the specified grammar file to use for speech recognition.
Optional
play_beep
boolean
Indicates whether a beep should be played just before speech recognition is initiated so that the speaker can start to speak.
Optional
prompts
PerCL command array
The JSON array of PerCL commands to nest within the GetSpeech command.
Optional
no_input_timeout_ms
integer > 0
When recognition is started and there is no speech detected for noInputTimeoutMs milliseconds, the recognizer will terminate the recognition operation.
Optional
recognition_timeout_ms
integer > 0
When playback of prompts ends and there is no match for recognitionTimeoutMs milliseconds, the recognizer will terminate the recognition operation.
Optional
confidence_threshold
float range 0.0-1.0
When a recognition resource recognizes a spoken phrase, it associates a confidence level with that match. Parameter confidenceThreshold specifies what confidence level is considered a successful match.
Optional
sensitivity_level
float range 0.0-1.0
The speech recognizer supports a variable level of sound sensitivity.
Optional
speech_complete_timeout_ms
integer > 0
Specifies the length of silence required following user speech before the speech recognizer finalizes a result.
optional
speech_incomplete_timeout_ms
integer > 0
Specifies the length of silence following user speech after which a recognizer finalizes a result.
optional
enforcePCI
boolean
Parameter enforcePCI will not log the ‘text’ as required by PCI compliance.
optional
Hangup
The Hangup command terminates a Call. If Hangup is used as the first action in a PerCL response, it does not prevent FreeClimb from answering the Call and billing your account. See the Reject command to hang up at no charge.
The ID of the Call leg to hang up. If not specified, the Call leg corresponding to the current PerCL execution context hangs up.
Optional
reason
string
The user defined reason for the hangup. In general, applications should use a set of enumerated values that are predefined to cover all exit points of the Call flows for the given application.
Optional
OutDial
The OutDial command is used to call a phone number.
URL to which FreeClimb sends an HTTP POST request (an outDialStart Webhook immediately when the OutDial command executes.
Required
call_connect_url
absolute URL
URL to which FreeClimb makes an HTTP POST request informing the result of the OutDial.
Required
calling_number
E.164 phone number
The caller ID to show to the called party when FreeClimb calls.
Required
destination
E.164 phone number
E.164 representation of the phone number to Call.
Required
if_machine
redirect or hangup
Specifies how FreeClimb should handle this OutDial if an answering machine answers the Call.
Optional
if_machine_url
absolute URL
When the ifMachine flag is set to redirect, this attribute specifies a URL to which FreeClimb makes a POST request when an answering machine or a fax machine is detected.
Optional
send_digits
digits 0-9, # or *
DTMF tones to play to the outdialed Call. This is typically used to dial a number and then dial an extension.
Optional
status_callback_url
absolute URL
When the outdialed Call leg terminates, FreeClimb sends a callStatus Webhook to the statusCallbackUrl.
Optional
timeout
integer > 0
Maximum time in seconds the OutDial command waits for the called party to answer the Call.
Optional
Pause
The Pause command halts execution of the current PerCL script for a specified number of milliseconds.
Length in milliseconds FreeClimb will wait silently before continuing on.
PlayEarlyMedia
PlayEarlyMedia is relevant only when present as the very first command in the PerCL script returned for an incoming Call. In such cases, the command is executed before FreeClimb attempts to connect the call. The audio file it uses can be stored in any location that is accessible via URL.
URL of the audio file to be played to the caller. The URL can be the recordingUrl generated from the RecordUtterance or StartRecordCall PerCL commands or any accessible URL.
required
Play
The Play command plays an audio file back to the caller. The audio file may be located at any location accessible via a URL. Play can exist as a stand-alone command or as a nested command. It does not allow barge-in unless nested within a GetSpeech command. The file will always be played to completion unless nested.
URL of the audio file to be played to the caller. The URL can be the recordingUrl generated from the RecordUtterance or StartRecordCall PerCL commands or any accessible URL.
Required
loop
integer >=0
Number of times the audio file is played. Specifying ‘0’ causes the Play action to loop until the Call is hung up.
Optional
conference_id
ID of the Conference the audio should be rendered to.
RecordUtterance
The RecordUtterance command records the caller’s voice and returns the URL of a file containing the audio recording.
URL to which information on the completed recording is submitted.
Required
silence_timeout_ms
integer > 0
Interval of silence that should elapse before ending the recording.
Optional
finish_on_key
any digit, #, *
Key that triggers the end of the recording.
Optional
max_length_sec
integer > 1
Maximum length for the command execution in seconds.
Optional
play_beep
boolean
Indicates whether to play a beep sound before the start of the recording.
Optional
auto_start
boolean
If false, recording begins immediately after the RecordUtterance command is processed. If true, recording begins when audio is present and if audio begins before the max_length_sec timeout.
Optional
Redirect
The Redirect command transfers control of a Call to the PerCL at a different URL.
ID of the Call leg to be removed from the Conference. The Call must be in a Conference or an error will be triggered.
Required
Say
The Say command provides Text-To-Speech (TTS) support. It converts text to speech and then renders it in a female voice back to the caller. Say is useful in cases where it’s difficult to pre-record a prompt for any reason. Say does not allow barge-in unless nested within a GetSpeech command. The file will always be played to completion unless nested.
Example:
importfreeclimb
+
+say=freeclimb.Say(text="Hello! This is a message sent using FreeClimb's Python SDK.")
+returnfreeclimb.PerCLCommand.to_json(say.to_dict())
+
Attributes:
Name
Type
Description
Required
text
string
The message to be played to the caller using TTS.
Required
loop
integer >=0
Number of times the text is said. Specifying ‘0’ causes the Say action to loop until the Call is hung up.
Language and (by implication) the locale to use. This implies the accent and pronunciations to be used for the TTS. Default is en-ES for English (United States)
Optional
conference_id
string
ID of the Conference the speech should be rendered to.
Optional
enforcePCI
boolean
Parameter enforcePCI will not log the ‘text’ as required by PCI compliance.
Optional
SendDigits
The SendDigits command plays DTMF tones on a live Call.
The SetListen command enables or disables the listen privilege for a Conference Participant provided both calls are in the same conference. The Participant can hear what the other participants are saying only if this privilege is enabled.
ID of the call leg that is to be assigned the listen privilege. The Call must be in a Conference or an error will be triggered.
Required
listen
boolean
Specifying false will silence the Conference for this Participant. Default True
Optional
SetTalk
The SetTalk command enables or disables the talk privilege for a Conference Participant provided both calls are in the same conference. If False, no audio from that Participant is shared with the other Participants of the Conference.
ID of the call leg that is to be assigned the talk privilege. The Call must be in a Conference or an error will be triggered.
Required
talk
boolean
Specifying False mutes this Participant.
Optional
Sms
The Sms command can be used to send an SMS message to a phone number during a phone call.
Example:
importfreeclimb
+
+sms=freeclimb.Sms(to='+1XXXXXXXXXX',from_number='+1XXXXXXXXXX',text='Hello! This is a message sent using FreeClimb'sPythonSDK.', notification_url='http://example.com/notificationUrl')
+return freeclimb.PerCLCommand.to_json(sms.to_dict())
+
Attributes:
Name
Type
Description
Required
to_number
string
E.164 representation of the phone number to which the message will be sent. Must be within FreeClimb’s service area
Required
from_number
string
E.164 representation of the phone number to use as the sender. This must be an incoming phone number you have purchased from FreeClimb.
Required
text
string
Text contained in the message (maximum 160 characters).
Required
notification_url
absolute URL
When the message changes status, this URL will be invoked using HTTP POST with the messageStatus parameters.
Optional
StartRecordCall
The StartRecordCall command records the current call and returns the URL of a file containing the audio recording when recording completes.
The TerminateConference command terminates an existing Conference. Any active participants are hung up on by FreeClimb. If this is not the desired behavior, use the RemoveFromConference command to unbridge Calls that should not be hung up.
Description for this Queue. Max length is 64 characters.
[optional]
max_size
int
Maximum number of calls this queue can hold. Default is 100. Maximum is 1000. Note: Reducing the maxSize of a Queue causes the Queue to reject incoming requests until it shrinks below the new value of maxSize.
[optional]
request_id
str
RequestId for this request, starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request include this requestId. If this parameter is not provided, FreeClimb generates a requestId and returns it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
Either `canceled` or `completed`. Specifying `canceled` attempts to hang up calls that are queued without affecting calls already in progress. Specifying `completed` attempts to hang up a call already in progress.
request_id
str
RequestId for this request starting with prefix `RQ` followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g. `X-Pulse-Request-Id: <requestId>`).
(Optional) Default is `true`. Setting to `false` mutes the Participant. FreeClimb returns an error and ignores any other value.
[optional]
listen
bool
(Optional) Default is `true`. Setting to `false` silences the Conference for this Participant. FreeClimb returns an error and ignores any other value.
[optional]
request_id
str
ID of this request starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request include this requestId. If this value is not provided, FreeClimb generates a requestId and returns it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
Description for this conference. Maximum 64 characters.
[optional]
play_beep
str
Controls when a beep is played. Valid values: `always`, `never`, `entryOnly`, `exitOnly`.
[optional] [default to ‘always’]
status
str
New status of the conference. Valid values: `empty` or `terminated`. For more information, see Status Parameter below.**
[optional]
request_id
str
ID for this request starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g. X-Pulse-Request-Id: <requestId>).
FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
This Python package is automatically generated by the OpenAPI Generator project:
from__future__importprint_function
+importtime
+importfreeclimb
+fromfreeclimb.restimportApiException
+frompprintimportpprint
+
+configuration=freeclimb.Configuration()
+# Configure HTTP basic authorization: fc
+configuration.username='ACCOUNT_ID'
+configuration.password='AUTH_TOKEN'
+
+# Defining host is optional and default to https://www.freeclimb.com/apiserver
+configuration.host="https://www.freeclimb.com/apiserver"
+# Enter a context with an instance of the API client
+withfreeclimb.ApiClient(configuration)asapi_client:
+ # Create an instance of the API class
+api_instance=freeclimb.DefaultApi(api_client)
+ buy_incoming_number_request=freeclimb.BuyIncomingNumberRequest()# BuyIncomingNumberRequest | Incoming Number transaction details (optional)
+
+ try:
+ # Buy a Phone Number
+api_response=api_instance.buy_a_phone_number(buy_incoming_number_request=buy_incoming_number_request)
+ pprint(api_response)
+ exceptApiExceptionase:
+ print("Exception when calling DefaultApi->buy_a_phone_number: %s\n"%e)
+
+
Tests
Run tests with command: python -m unittest test
Documentation for API Endpoints
All URIs are relative to https://www.freeclimb.com/apiserver
POST /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId}
Update an Incoming Number
Documentation for PerCL
The Performance Command Language (PerCL) defines a set of instructions, written in JSON format, that express telephony actions to be performed in response to an event on the FreeClimb platform. FreeClimb communicates with the application server when events associated with the application occur, so the webserver can instruct FreeClimb how to handle such events using PerCL scripts.
PerCL example:
say=freeclimb.Say(text="Hello! This is a message sent using FreeClimb's Python SDK.")
+returnfreeclimb.PerCLCommand.to_json(say.to_dict())
+
The JSON object below represents the PerCL object generated by the commands above.
[
+ {
+ "Say":{
+ "text":"Hello! This is a message sent using FreeClimb's Python SDK."
+ }
+ }
+]
+
RequestId for this request starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response, e.g. X-Pulse-Request-Id: <requestId>
A human readable description of the application, with maximum length 64 characters.
[optional]
voice_url
String
The URL that FreeClimb will request when an inbound call arrives on a phone number assigned to this application. Used only for inbound calls.
[optional]
voice_fallback_url
String
The URL that FreeClimb will request if it times out waiting for a response from the voiceUrl. Used for inbound calls only. Note: A PerCL response is expected to control the inbound call.
[optional]
call_connect_url
String
The URL that FreeClimb will request when an outbound call request is complete. Used for outbound calls only. Note: A PerCL response is expected if the outbound call is connected (status=InProgress) to control the call.
[optional]
status_callback_url
String
The URL that FreeClimb will request to pass call status (such as call ended) to the application. Note: This is a notification only; any PerCL returned will be ignored.
[optional]
sms_url
String
The URL that FreeClimb will request when a phone number assigned to this application receives an incoming SMS message. Used for inbound SMS only. Note: Any PerCL returned will be ignored.
[optional]
sms_fallback_url
String
The URL that FreeClimb will request if it times out waiting for a response from the smsUrl. Used for inbound SMS only. Note: Any PerCL returned will be ignored.
[optional]
request_id
String
The requestId for this request starting with prefix \"RQ\" followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response, e.g. X-Pulse-Request-Id: <requestId>
The URI for this resource, relative to /apiserver.
[optional]
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]
account_id
String
ID of the account that owns this phone number.
[optional]
application_id
String
ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId.
[optional]
_alias
String
Description for this phone number. Typically the conventionally-formatted version of the phone number.
[optional]
voice_url
String
The URL FreeClimb will request when a phone number assigned to this Application receives a Call. Used for inbound calls only.
[optional]
voice_fallback_url
String
The URL that FreeClimb will request if it times out waiting for a response from the voiceUrl. Used for inbound calls only.
[optional]
call_connect_url
String
The URL to which FreeClimb will make a POST request informing the result of the outbound Call request. The status property of the request message specifies if the Call was connected or not.
[optional]
status_callback_url
String
A URL to which FreeClimb will make a POST request when the Call ends to notify this app.
[optional]
sms_url
String
The URL FreeClimb will request when a phone number assigned to this Application receives an incoming SMS message. Used for inbound SMS only.
[optional]
sms_fallback_url
String
The URL that FreeClimb will request if it times out waiting for a response from the smsUrl. Used for inbound SMS only.
ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId.
[optional]
_alias
String
Description for this phone number. Typically the conventionally-formatted version of the phone number.
[optional]
voice_url
String
The URL FreeClimb will request when a phone number assigned to this Application receives a Call. Used for inbound calls only.
[optional]
voice_fallback_url
String
The URL that FreeClimb will request if it times out waiting for a response from the voiceUrl. Used for inbound calls only.
[optional]
call_connect_url
String
The URL to which FreeClimb will make a POST request informing the result of the outbound Call request. The status property of the request message specifies if the Call was connected or not.
[optional]
status_callback_url
String
A URL to which FreeClimb will make a POST request when the Call ends to notify this app.
[optional]
sms_url
String
The URL FreeClimb will request when a phone number assigned to this Application receives an incoming SMS message. Used for inbound SMS only.
[optional]
sms_fallback_url
String
The URL that FreeClimb will request if it times out waiting for a response from the smsUrl. Used for inbound SMS only.
Phone number to purchase in E.164 format (as returned in the list of Available Phone Numbers).
_alias
String
Description for this new incoming phone number (max 64 characters).
[optional]
application_id
String
ID of the application that should handle phone calls to the number.
[optional]
request_id
String
RequestId for this request starting with prefix `RQ` followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response, (e.g., `X-Pulse-Request-Id: <requestId>`).
The URI for this resource, relative to /apiserver.
[optional]
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]
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]
from
String
Phone number that initiated this Call.
[optional]
to
String
Phone number that received this Call.
[optional]
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
String
* `queued` – Call is ready and waiting in line before going out. * `ringing` – Call is currently ringing. * `inProgress` – Call was answered and is currently in progress. * `canceled` – Call was hung up while it was queued or ringing. * `completed` – Call was answered and has ended normally. * `busy` – Caller received a busy signal. * `failed` – Call could not be completed as dialed, most likely because the phone number was non-existent. * `noAnswer` – Call ended without being answered.
[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]
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]
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]
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]
direction
String
Direction of the Call. `inbound` for Calls into FreeClimb, `outboundAPI` for Calls initiated via the REST API, `outboundDial` for Calls initiated by the `OutDial` PerCL command.
[optional]
answered_by
String
If this Call was initiated with answering machine detection, either `human` or `machine`. Empty otherwise.
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]
from
String
Phone number that initiated this Call.
[optional]
to
String
Phone number that received this Call.
[optional]
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
String
* `queued` – Call is ready and waiting in line before going out. * `ringing` – Call is currently ringing. * `inProgress` – Call was answered and is currently in progress. * `canceled` – Call was hung up while it was queued or ringing. * `completed` – Call was answered and has ended normally. * `busy` – Caller received a busy signal. * `failed` – Call could not be completed as dialed, most likely because the phone number was non-existent. * `noAnswer` – Call ended without being answered.
[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]
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]
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]
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]
direction
String
Direction of the Call. `inbound` for Calls into FreeClimb, `outboundAPI` for Calls initiated via the REST API, `outboundDial` for Calls initiated by the `OutDial` PerCL command.
[optional]
answered_by
String
If this Call was initiated with answering machine detection, either `human` or `machine`. Empty otherwise.
A description for this Conference. Maximum 64 characters.
[optional]
play_beep
String
Controls when a beep is played. Valid values: `always`, `never`, `entryOnly`, `exitOnly`.
[optional] [default to 'always']
record
Boolean
Setting to `true` records the entire Conference.
[optional]
wait_url
String
If specified, a URL for the audio file that provides custom hold music for the Conference when it is in the populated state. Otherwise, FreeClimb uses a system default audio file. This is always fetched using HTTP GET and is fetched just once — when the Conference is created.
[optional]
status_callback_url
String
This URL is invoked when the status of the Conference changes. For more information, see statusCallbackUrl (below).
[optional]
request_id
String
The requestId for this request starting with prefix \"RQ\" followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
# load the gem
+require'freeclimb'
+# setup authorization
+Freeclimb.configuredo|config|
+ # Configure HTTP basic authorization: fc
+ config.username='ACCOUNT ID'
+ config.password='AUTH TOKEN'
+end
+
+api_instance=Freeclimb::DefaultApi.new
+queue_id='queue_id_example'# String | String that uniquely identifies the Queue that the Member belongs to.
+call_id='call_id_example'# String | ID if the Call that the Member belongs to
+opts={
+ dequeue_member_request: Freeclimb::DequeueMemberRequest.new# DequeueMemberRequest | Dequeue member request details
+}
+
+begin
+ #Dequeue a Member
+ result=api_instance.dequeue_a_member(queue_id,call_id,opts)
+ presult
+rescueFreeclimb::ApiError=>e
+ puts"Exception when calling DefaultApi->dequeue_a_member: #{e}"
+end
+
Parameters
Name
Type
Description
Notes
queue_id
String
String that uniquely identifies the Queue that the Member belongs to.
# load the gem
+require'freeclimb'
+# setup authorization
+Freeclimb.configuredo|config|
+ # Configure HTTP basic authorization: fc
+ config.username='ACCOUNT ID'
+ config.password='AUTH TOKEN'
+end
+
+api_instance=Freeclimb::DefaultApi.new
+queue_id='queue_id_example'# String | String that uniquely identifies the Queue that the Member belongs to.
+call_id='call_id_example'# String | ID of the Call that the Member belongs to
+
+begin
+ #Get a Member
+ result=api_instance.get_a_member(queue_id,call_id)
+ presult
+rescueFreeclimb::ApiError=>e
+ puts"Exception when calling DefaultApi->get_a_member: #{e}"
+end
+
Parameters
Name
Type
Description
Notes
queue_id
String
String that uniquely identifies the Queue that the Member belongs to.
# load the gem
+require'freeclimb'
+# setup authorization
+Freeclimb.configuredo|config|
+ # Configure HTTP basic authorization: fc
+ config.username='ACCOUNT ID'
+ config.password='AUTH TOKEN'
+end
+
+api_instance=Freeclimb::DefaultApi.new
+conference_id='conference_id_example'# String | ID of the conference this participant is in.
+call_id='call_id_example'# String | ID of the Call associated with this participant.
+
+begin
+ #Get a Participant
+ result=api_instance.get_a_participant(conference_id,call_id)
+ presult
+rescueFreeclimb::ApiError=>e
+ puts"Exception when calling DefaultApi->get_a_participant: #{e}"
+end
+
# load the gem
+require'freeclimb'
+# setup authorization
+Freeclimb.configuredo|config|
+ # Configure HTTP basic authorization: fc
+ config.username='ACCOUNT ID'
+ config.password='AUTH TOKEN'
+end
+
+api_instance=Freeclimb::DefaultApi.new
+opts={
+ to: 'to_example',# String | Only show Calls to this phone number.
+ from: 'from_example',# String | Only show Calls from this phone number.
+ status: 'status_example',# String | Only show Calls currently in this status. May be `queued`, `ringing`, `inProgress`, `canceled`, `completed`, `failed`, `busy`, or `noAnswer`.
+ start_time: 'start_time_example',# String | Only show Calls that started at or after this time, given as YYYY-MM-DD hh:mm:ss.
+ end_time: 'end_time_example',# String | Only show Calls that ended at or before this time, given as YYYY-MM- DD hh:mm:ss.
+ parent_call_id: 'parent_call_id_example'# String | Only show Calls spawned by the call with this ID.
+}
+
+begin
+ #List Calls
+ result=api_instance.list_calls(opts)
+ presult
+rescueFreeclimb::ApiError=>e
+ puts"Exception when calling DefaultApi->list_calls: #{e}"
+end
+
Parameters
Name
Type
Description
Notes
to
String
Only show Calls to this phone number.
[optional]
from
String
Only show Calls from this phone number.
[optional]
status
String
Only show Calls currently in this status. May be `queued`, `ringing`, `inProgress`, `canceled`, `completed`, `failed`, `busy`, or `noAnswer`.
[optional]
start_time
String
Only show Calls that started at or after this time, given as YYYY-MM-DD hh:mm:ss.
[optional]
end_time
String
Only show Calls that ended at or before this time, given as YYYY-MM- DD hh:mm:ss.
# load the gem
+require'freeclimb'
+# setup authorization
+Freeclimb.configuredo|config|
+ # Configure HTTP basic authorization: fc
+ config.username='ACCOUNT ID'
+ config.password='AUTH TOKEN'
+end
+
+api_instance=Freeclimb::DefaultApi.new
+opts={
+ status: 'status_example',# String | Only show conferences that currently have the specified status. Valid values: `empty`, `populated`, `inProgress`, or `terminated`.
+ _alias: '_alias_example',# String | List Conferences whose alias exactly matches this string.
+ date_created: 'date_created_example',# String | Only show Conferences that were created on the specified date, in the form *YYYY-MM-DD*.
+ date_updated: 'date_updated_example'# String | Only show Conferences that were last updated on the specified date, in the form *YYYY-MM-DD*.
+}
+
+begin
+ #List Conferences
+ result=api_instance.list_conferences(opts)
+ presult
+rescueFreeclimb::ApiError=>e
+ puts"Exception when calling DefaultApi->list_conferences: #{e}"
+end
+
Parameters
Name
Type
Description
Notes
status
String
Only show conferences that currently have the specified status. Valid values: `empty`, `populated`, `inProgress`, or `terminated`.
[optional]
_alias
String
List Conferences whose alias exactly matches this string.
[optional]
date_created
String
Only show Conferences that were created on the specified date, in the form YYYY-MM-DD.
[optional]
date_updated
String
Only show Conferences that were last updated on the specified date, in the form YYYY-MM-DD.
# load the gem
+require'freeclimb'
+# setup authorization
+Freeclimb.configuredo|config|
+ # Configure HTTP basic authorization: fc
+ config.username='ACCOUNT ID'
+ config.password='AUTH TOKEN'
+end
+
+api_instance=Freeclimb::DefaultApi.new
+conference_id='conference_id_example'# String | ID of the conference this participant is in.
+opts={
+ talk: true,# Boolean | Only show Participants with the talk privilege.
+ listen: true# Boolean | Only show Participants with the listen privilege.
+}
+
+begin
+ #List Participants
+ result=api_instance.list_participants(conference_id,opts)
+ presult
+rescueFreeclimb::ApiError=>e
+ puts"Exception when calling DefaultApi->list_participants: #{e}"
+end
+
# load the gem
+require'freeclimb'
+# setup authorization
+Freeclimb.configuredo|config|
+ # Configure HTTP basic authorization: fc
+ config.username='ACCOUNT ID'
+ config.password='AUTH TOKEN'
+end
+
+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*.
+}
+
+begin
+ #List Recordings
+ result=api_instance.list_recordings(opts)
+ presult
+rescueFreeclimb::ApiError=>e
+ puts"Exception when calling DefaultApi->list_recordings: #{e}"
+end
+
Parameters
Name
Type
Description
Notes
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.
# load the gem
+require'freeclimb'
+# setup authorization
+Freeclimb.configuredo|config|
+ # Configure HTTP basic authorization: fc
+ config.username='ACCOUNT ID'
+ config.password='AUTH TOKEN'
+end
+
+api_instance=Freeclimb::DefaultApi.new
+opts={
+ to: 'to_example',# String | Only show Messages to this phone number.
+ from: 'from_example',# String | Only show Messages from this phone number.
+ begin_time: 'begin_time_example',# String | Only show Messages sent at or after this time (GMT), given as *YYYY-MM-DD hh:mm:ss*.
+ end_time: 'end_time_example',# String | Only show messages sent at or before this time (GMT), given as *YYYY-MM-DD hh:mm*..
+ direction: 'direction_example',# String | Either `inbound` or `outbound`. Only show Messages that were either *sent from* or *received by* FreeClimb.
+ account_id: 'account_id_example'# String | String that uniquely identifies this account resource.
+}
+
+begin
+ #List SMS Messages
+ result=api_instance.list_sms_messages(opts)
+ presult
+rescueFreeclimb::ApiError=>e
+ puts"Exception when calling DefaultApi->list_sms_messages: #{e}"
+end
+
Parameters
Name
Type
Description
Notes
to
String
Only show Messages to this phone number.
[optional]
from
String
Only show Messages from this phone number.
[optional]
begin_time
String
Only show Messages sent at or after this time (GMT), given as YYYY-MM-DD hh:mm:ss.
[optional]
end_time
String
Only show messages sent at or before this time (GMT), given as YYYY-MM-DD hh:mm..
[optional]
direction
String
Either `inbound` or `outbound`. Only show Messages that were either sent from or received by FreeClimb.
[optional]
account_id
String
String that uniquely identifies this account resource.
# load the gem
+require'freeclimb'
+# setup authorization
+Freeclimb.configuredo|config|
+ # Configure HTTP basic authorization: fc
+ config.username='ACCOUNT ID'
+ config.password='AUTH TOKEN'
+end
+
+api_instance=Freeclimb::DefaultApi.new
+conference_id='conference_id_example'# String | ID of the conference this participant is in.
+call_id='call_id_example'# String | ID of the Call associated with this participant.
+
+begin
+ #Remove a Participant
+ api_instance.remove_a_participant(conference_id,call_id)
+rescueFreeclimb::ApiError=>e
+ puts"Exception when calling DefaultApi->remove_a_participant: #{e}"
+end
+
# load the gem
+require'freeclimb'
+# setup authorization
+Freeclimb.configuredo|config|
+ # Configure HTTP basic authorization: fc
+ config.username='ACCOUNT ID'
+ config.password='AUTH TOKEN'
+end
+
+api_instance=Freeclimb::DefaultApi.new
+conference_id='conference_id_example'# String | ID of the conference this participant is in.
+call_id='call_id_example'# String | ID of the Call associated with this participant.
+opts={
+ update_conference_participant_request: Freeclimb::UpdateConferenceParticipantRequest.new# UpdateConferenceParticipantRequest | Conference participant details to update
+}
+
+begin
+ #Update a Participant
+ result=api_instance.update_a_participant(conference_id,call_id,opts)
+ presult
+rescueFreeclimb::ApiError=>e
+ puts"Exception when calling DefaultApi->update_a_participant: #{e}"
+end
+
RequestId for this request starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request include this requestId. If it is not provided, FreeClimb generates a requestId and returns it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
The filter query for retrieving logs. See Performance Query Language below.
request_id
String
RequestId for this request starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
ID of the Application that should handle calls to this number.
[optional]
_alias
String
Description for this phone number.
[optional]
request_id
String
RequestId for this request starting with prefix `RQ` followed by 40 hexadecimal characters. FreeClimb logs that are generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g., `X-Pulse-Request-Id: <requestId>`).
The URI for this resource, relative to /apiserver.
[optional]
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]
phone_number_id
String
String that uniquely identifies this phone number resource.
[optional]
account_id
String
ID of the account that owns this phone number.
[optional]
application_id
String
ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId.
[optional]
phone_number
String
Phone number in E.164 format.
[optional]
_alias
String
Description for this phone number. Typically the conventionally-formatted version of the phone number.
[optional]
region
String
State or province of this phone number.
[optional]
country
String
Country of this phone number.
[optional]
voice_enabled
Boolean
Indicates whether the phone number can handle Calls. Typically set to true for all numbers.
[optional]
sms_enabled
Boolean
Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers.
String that uniquely identifies this phone number resource.
[optional]
account_id
String
ID of the account that owns this phone number.
[optional]
application_id
String
ID of the Application that FreeClimb should contact if a Call or SMS arrives for this phone number or a Call from this number is placed. An incoming phone number is not useful until associated with an applicationId.
[optional]
phone_number
String
Phone number in E.164 format.
[optional]
_alias
String
Description for this phone number. Typically the conventionally-formatted version of the phone number.
[optional]
region
String
State or province of this phone number.
[optional]
country
String
Country of this phone number.
[optional]
voice_enabled
Boolean
Indicates whether the phone number can handle Calls. Typically set to true for all numbers.
[optional]
sms_enabled
Boolean
Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers.
Phone number to use as the caller ID. This can be: (a) The To or From number provided in FreeClimb's initial request to your app or (b) Any incoming phone number you have purchased from FreeClimb.
to
String
Phone number to place the Call to.
application_id
String
ID of the application FreeClimb should use to handle this phone call. FreeClimb will use the `callConnectUrl` and `statusCallbackUrl` set on the application. The application must have a `callConnectUrl` associated with it or an error will be returned. The application’s `voiceUrl` parameter is not used for outbound calls.
send_digits
String
String of digits to dial after connecting to the number. It can include digits `0-9`, ``, and `#`, and allows embedding a pause between the output of individual digits. The default pause is 500 milliseconds. So, a string such as *1234# will be played in 2 seconds because of the 4 standard pauses implied within the string. A custom pause is specified by including a positive integer wrapped in curly braces: {n}. For more information, see sendDigits examples below.
[optional]
if_machine
String
Specifies how FreeClimb should handle this Call if an answering machine answers it.
[optional]
if_machine_url
String
This attribute specifies a URL to which FreeClimb will make a POST request when an answering machine or a fax machine is detected. This URL is required if the ifMachine flag is set to redirect. When ifMachine is set to hangup, ifMachineUrl must not be included in the request. For more information, see ifMachineUrl example below.
[optional]
timeout
Integer
Number of seconds that FreeClimb should allow the phone to ring before assuming there is no answer. Default is 30 seconds. Maximum allowed ring-time is determined by the target phone's provider. Note that most providers limit ring-time to 120 seconds.
[optional]
request_id
String
The requestId for this request starting with prefix \"RQ\" followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g. `X-Pulse-Request-Id: <requestId>`).
[optional]
parent_call_id
String
The ID of the parent Call in the case that this new Call is meant to be treated as a child of an existing Call. This attribute should be included when possible to reduce latency when adding child calls to Conferences containing the parent Call. A call can only be used as a parent once the call is in progress or as an inbound call that is still ringing. An outbound call is considered to be in progress once the outdialConnect or outdialApiConnect webhook is invoked. An inbound call is ringing when the inbound webhook is invoked.
The URI for this resource, relative to /apiserver.
[optional]
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]
from
String
Phone number to use as the sender. This must be an incoming phone number that you have purchased from FreeClimb.
to
String
Phone number to receive the message. Must be within FreeClimb's service area.
text
String
Text contained in the message (maximum 160 characters). Note: For text, only ASCII characters are supported.
notification_url
String
When the Message changes status, this URL is invoked using HTTP POST with the messageStatus parameters. Note: This is a notification only; any PerCL returned is ignored.
[optional]
request_id
String
RequestId for this request, starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
[optional]
account_id
String
String that uniquely identifies this account resource.
Phone number to use as the sender. This must be an incoming phone number that you have purchased from FreeClimb.
to
String
Phone number to receive the message. Must be within FreeClimb's service area.
text
String
Text contained in the message (maximum 160 characters). Note: For text, only ASCII characters are supported.
notification_url
String
When the Message changes status, this URL is invoked using HTTP POST with the messageStatus parameters. Note: This is a notification only; any PerCL returned is ignored.
[optional]
request_id
String
RequestId for this request, starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
[optional]
account_id
String
String that uniquely identifies this account resource.
Description for this Queue. Max length is 64 characters.
[optional]
max_size
Integer
Maximum number of calls this queue can hold. Default is 100. Maximum is 1000. Note: Reducing the maxSize of a Queue causes the Queue to reject incoming requests until it shrinks below the new value of maxSize.
[optional]
request_id
String
RequestId for this request, starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request include this requestId. If this parameter is not provided, FreeClimb generates a requestId and returns it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
Either `canceled` or `completed`. Specifying `canceled` attempts to hang up calls that are queued without affecting calls already in progress. Specifying `completed` attempts to hang up a call already in progress.
request_id
String
RequestId for this request starting with prefix `RQ` followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g. `X-Pulse-Request-Id: <requestId>`).
(Optional) Default is `true`. Setting to `false` mutes the Participant. FreeClimb returns an error and ignores any other value.
[optional]
listen
Boolean
(Optional) Default is `true`. Setting to `false` silences the Conference for this Participant. FreeClimb returns an error and ignores any other value.
[optional]
request_id
String
ID of this request starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request include this requestId. If this value is not provided, FreeClimb generates a requestId and returns it as a header in the response (e.g., X-Pulse-Request-Id: <requestId>).
Description for this conference. Maximum 64 characters.
[optional]
play_beep
String
Controls when a beep is played. Valid values: `always`, `never`, `entryOnly`, `exitOnly`.
[optional] [default to 'always']
status
String
New status of the conference. Valid values: `empty` or `terminated`. For more information, see Status Parameter below.**
[optional]
request_id
String
ID for this request starting with prefix RQ followed by 40 hexadecimal characters. FreeClimb logs generated while processing this request will include this requestId. If it is not provided, FreeClimb will generate a requestId and return it as a header in the response (e.g. X-Pulse-Request-Id: <requestId>).
The Performance Command Language (PerCL) defines a set of instructions, written in JSON format, that express telephony actions to be performed in response to an event on the FreeClimb platform. FreeClimb communicates with the application server when events associated with the application occur, so the webserver can instruct FreeClimb how to handle such events using PerCL scripts.
When creating a Percl object, required parameters must be used in the constructer while optional parameters must be set direclty on the given Percl object. Example:
Class | Description ———— | ————- Percl::OutDial | The OutDial command is used to call a phone number Percl::Hangup | The Hangup command terminates a Call Percl::Pause | The Pause command halts execution of the current PerCL script for a specified number of millisecond Percl::Redirect | The Redirect command transfers control of a Call to the PerCL at a different URL Percl::SendDigits | The SendDigits command plays DTMF tones on a live Call. This is useful for navigating through IVR menus or dialing extensions Percl::Reject | The Reject command blocks an incoming Call. Percl::CreateConference | The CreateConference command does exactly what its name implies — it creates an unpopulated Conference (one without any Participants). Percl::TerminateConference | The TerminateConference command terminates an existing Conference. Percl::AddToConference | The AddToConference command adds a Participant to a Conference. Percl::RemoveFromConference | The RemoveFromConference command removes a Participant from a Conference but does not hang up. Percl::SetListen | The SetListen command enables or disables the listen privilege for a Conference Participant provided both calls are in the same conference. Percl::SetTalk | The SetTalk command enables or disables the talk privilege for a Participant in a Conference provided both calls are in the same conference. Percl::Enqueue | The Enqueue command adds the current Call to a call Queue. Percl::Dequeue | The Dequeue command transfers control of a Call that is in a Queue so that the waiting caller exits the Queue. Percl::RecordUtterance | The RecordUtterance command records the caller’s voice and returns the URL of a file containing the audio recording. Percl::StartRecordCall | The StartRecordCall command records the current call and returns the URL of a file containing the audio recording when recording completes. Percl::PlayEarlyMedia | The PlayEarlyMedia command plays A media file before attempting to connect a call Percl::Play | the Play command plays an audio file back to the caller. Percl::Say | The Say command provides Text-To-Speech (TTS) support. It converts text to speech and then renders it in a female voice back to the caller. Percl::GetDigits | The GetDigits command collects DTMF inputs from the caller. Percl::GetSpeech | The GetSpeech command enables the Caller to respond to the application using a supported language. Percl::Sms | The Sms command can be used to send an SMS message to a phone number during a phone call.
Percl::OutDial
The OutDial command is used to call a phone number
Name | Type | Description | Notes ————- | ————- | ————- | ————- actionUrl | String| URL to which FreeClimb sends an HTTP POST request. callConnectUrl | String| URL to which FreeClimb makes an HTTP POST request informing the result of the OutDial. callingNumber | String | The caller ID to show to the called party when FreeClimb calls. This can be one of the following: The To or From number provided in the first Webhook to your webserver. Any phone number you have purchased from FreeClimb. destination | String | E.164 representation of the phone number to Call. ifMachine | String | Specifies how FreeClimb should handle this OutDial if an answering machine answers the Call. Valid values: redirect invokes the ifMachineUrl for instructions. hangup hangs up the Call. The ifMachineUrl will not be invoked. | [optional] ifMachineUrl | String | When the ifMachine flag is set to redirect, this attribute specifies a URL to which FreeClimb makes a POST request when an answering machine or a fax machine is detected. This URL is required if the ifMachine flag is set to redirect. Otherwise, it should not be included. | [required if ifMachine is set to redirect] sendDigits | String | DTMF tones to play to the outdialed Call. This is typically used to dial a number and then dial an extension. | [optional] statusCallBackUrl | String | When the outdialed Call leg terminates, FreeClimb sends a callStatus Webhook to the statusCallbackUrl. This is a notification only; any PerCL command returned is ignored. | [optional] timeout | String | Maximum time in seconds the OutDial command waits for the called party to answer the Call. When a timeout occurs, FreeClimb invokes the callConnectUrl Webhook to report that the out-dialed Call has ended with a status of noAnswer. | [optional]
Name | Type | Description | Notes ————- | ————- | ————- | ————- callId | String | The ID of the Call leg to hang up. If not specified, the Call leg corresponding to the current PerCL execution context hangs up. | [optional] reason | String | The user defined reason for the hangup. In general, applications should use a set of enumerated values that are predefined to cover all exit points of the Call flows for the given application. | [optional]
Percl::Pause
The Pause command halts execution of the current PerCL script for a specified number of milliseconds. If Pause is the first command in a PerCL document, FreeClimb will wait for the specified time to elapse before picking up the call.
Name | Type | Description | Notes ————- | ————- | ————- | ————- length | Integer | Length in milliseconds. FreeClimb will wait silently before continuing on.
Percl::Redirect
The Redirect command transfers control of a Call to the PerCL at a different URL. Redirect is a terminal command, so any actions following it are never executed.
Name | Type | Description | Notes ————- | ————- | ————- | ————- actionUrl | String | URL to request a new PerCL script to continue with the current Call’s processing. When Redirect invokes the actionUrl, an inbound Webhook is sent.
Percl::SendDigits
The SendDigits command plays DTMF tones on a live Call. This is useful for navigating through IVR menus or dialing extensions.
String containing the digits to be played. The string cannot be empty and can include any digit, plus #, or *, and allows embedding specification for delay or pause between the output of individual digits.
pauseMs
Integer
Pause between digits in milliseconds. Valid values are 100-1000 milliseconds and will be adjusted by FreeClimb to satisfy the constraint.
[optional]
Percl::Reject
The Reject command blocks an incoming Call. Using Reject is the only way to prevent FreeClimb from answering a Call. Any other response will result in an answered Call and your account will be billed.
Reason for the rejection. This can be any string value. In general, applications should use a set of enumerated values that are predefined to cover all exit points of the call flows for the given application.
[optional]
Percl::CreateConference
The CreateConference command does exactly what its name implies — it creates an unpopulated Conference (one without any Participants). Once created, a Conference remains in FreeClimb until explicitly terminated by a customer. Once a Conference has been terminated, it can no longer be used.
This URL is invoked once the Conference is successfully created. Actions on the Conference, such as adding Participants, can be performed via the PerCL script returned in the response.
alias
String
Descriptive name for the Conference.
[optional]
playBeep
String
Indicates whether to play a beep when a Participant enters or leaves the Conference. either always, never, entryOnly, or exitOnly. Leaving this unset will make conference default to always
[optional]
record
String
When set to true, the entire Conference is recorded. The statusCallbackUrl of the Conference will receive a conferenceRecordingEnded Webhook when the Conference transitions from the inProgress to empty state.
[optional]
waitUrl
String
If specified, this URL provides the custom hold music for the Conference when it is in the populated state. This attribute is always fetched using HTTP GET and is fetched just once – when the Conference is created. The URL must be an audio file that is reachable and readable by FreeClimb.
[optional]
statusCallbackUrl
String
This URL is invoked when the status of the Conference changes or when a recording of the Conference has become available.
[optional]
Percl::TerminateConference
The TerminateConference command terminates an existing Conference. Any active participants are hung up on by FreeClimb. If this is not the desired behavior, use the RemoveFromConference command to unbridge Calls that should not be hung up.
Note: The Call requesting TerminateConference must be on the same Conference for this command to execute.
The AddToConference command adds a Participant to a Conference. If this Participant currently is in another Conference, the Participant is first removed from that Conference. Two Call legs can be bridged together by creating a Conference and adding both Call legs to it via AddToConference.
Example
# load the gems
+require'sinatra'
+require'freeclimb'
+require'json'
+
+post'/voice'do
+ # Assuming Conference is already created
+ add=Percl::AddToConference.new('MOCK_CONF_ID','MOCK_CALL_ID')
+ script=Percl::Script.new
+ script.add(add)
+ script.to_json
+end
+
Parameters
Name
Type
Description
Notes
conferenceId
String
ID of the Conference to which to add the Participant (Call leg). Conference must exist or an error will result.
callId
String
ID of the Call that will be added to the specified Conference. The Call must be in progress or an error will result. If the Call is part of an existing Conference, it is first removed from that Conference and is then moved to the new one.
startConfOnEnter
Boolean
Flag that indicates whether a Conference starts upon entry of this particular Participant. This is usually set to true for moderators and false for all other Participants.
[optional]
talk
Boolean
If true, the Participant joins the Conference with talk privileges. This may be modified later via the REST API or SetTalk PerCL command.
[optional]
listen
Boolean
If true, the Participant joins the Conference with listen privileges. This may be modified later via the REST API or SetListen PerCL command.
[optional]
allowCallControl
Boolean
If true, Call control will be enabled for this Participant’s Call leg.
[optional]
callControlSequence
String
Defines a sequence of digits that, when entered by this caller, invokes the callControlUrl. Only digits plus ‘*’, and ‘#’ may be used.
[required if allowCallControl is true]
callControlUrl
String
URL to be invoked when this Participant enters the digit sequence defined in the callControlSequence attribute.
[required if allowCallControl is true]
leaveConferenceUrl
String
URL to be invoked when the Participant leaves the Conference.
[optional]
notificationUrl
String
When the Participant enters the Conference, this URL will be invoked using an HTTP POST request with the standard request parameters.
[optional]
Percl::RemoveFromConference
The RemoveFromConference command removes a Participant from a Conference but does not hang up. Instead, the Call is simply unbridged and what happens next with the Call is determined by the PerCL returned in response to the leaveConferenceUrl attribute.
Example
# load the gems
+require'sinatra'
+require'freeclimb'
+require'json'
+
+post'/voice'do
+ # Assuming Conference is already created and participant is in conference
+ remove=Percl::RemoveFromConference.new('MOCK_CALL_ID')
+ script=Percl::Script.new
+ script.add(remove)
+ script.to_json
+end
+
Parameters
Name | Type | Description | Notes ————- | ————- | ————- | ————- callId | String | ID of the Call leg to be removed from the Conference. The Call must be in a Conference or an error will be triggered.
Percl::SetListen
The SetListen command enables or disables the listen privilege for a Conference Participant provided both calls are in the same conference. The Participant can hear what the other participants are saying only if this privilege is enabled.
Example
# load the gems
+require'sinatra'
+require'freeclimb'
+require'json'
+
+post'/voice'do
+ # Assuming Conference is already created and participant is in conference
+ listen=Percl::SetListen.new('MOCK_CALL_ID')
+ script=Percl::Script.new
+ script.add(listen)
+ script.to_json
+end
+
Parameters
Name | Type | Description | Notes ————- | ————- | ————- | ————- callId | String | ID of the call leg that is to be assigned the listen privilege. The Call must be in a Conference or an error will be triggered. listen | Boolean | Specifying false will silence the Conference for this Participant. | [optional]
Percl::SetTalk
The SetTalk command enables or disables the talk privilege for a Participant in a Conference provided both calls are in the same conference. If ‘true’, no audio from that Participant is shared with the other Participants of the Conference.
Example
# load the gems
+require'sinatra'
+require'freeclimb'
+require'json'
+
+post'/voice'do
+ # Assuming Conference is already created and participant is in conference
+ talk=Percl::SetTalk.new('MOCK_CALL_ID')
+ script=Percl::Script.new
+ script.add(talk)
+ script.to_json
+end
+
Parameters
Name | Type | Description | Notes ————- | ————- | ————- | ————- callId | String | ID of the call leg that is to be muted or unmuted. The Call must be in a Conference or an error will be triggered. talk | Boolean | Specifying false mutes the Participant. | [optional]
Percl::Enqueue
The Enqueue command adds the current Call to a call Queue. If the specified Queue does not exist, it is created and then the Call is added to it. The default maximum length of the queue is 100. This can be modified using the REST API.
Example
# load the gems
+require'sinatra'
+require'freeclimb'
+require'json'
+
+post'/voice'do
+ # Assuming Queue is already created
+ enqueue=Percl::Enqueue.new('MOCK_QUEUE_ID','MOCK_WAIT_URL','MOCK_ACTION_URL')
+ script=Percl::Script.new
+ script.add(enqueue)
+ script.to_json
+end
+
Parameters
Name
Type
Description
Notes
queueId
String
ID of the Queue to which to add the Call. If the Queue does not exist, it will be created. The ID must start with QU followed by 40 hex characters.
waitUrl
String
Specifies a URL pointing to a PerCL script containing actions to be executed while the caller is waiting in the Queue. Once the script returned by the waitUrl runs out of commands to execute, FreeClimb will re-request the waitUrl and start over, essentially looping the script indefinitely.
actionUrl
String
A request is made to this URL when the Call leaves the Queue, which can occur if enqueue of the Call fails or when the call is dequeued via the Dequeue command, the REST API (POST to Queue Member resource), or the caller hangs up.
notificationUrl
String
URL to be invoked when the call enters the queue. The request to the URL contains the standard request parameters.This is a notification only; any PerCL returned will be ignored.
[optional]
Percl::Dequeue
The Dequeue command transfers control of a Call that is in a Queue so that the waiting caller exits the Queue. Execution continues with the first command in the PerCL script returned by the actionUrl specified in the Enqueue command.
Example
# load the gems
+require'sinatra'
+require'freeclimb'
+require'json'
+
+post'/voice'do
+ # Assuming call is in queue
+ dequeue=Percl::Dequeue.new
+ script=Percl::Script.new
+ script.add(dequeue)
+ script.to_json
+end
+
Parameters
none
Percl::RecordUtterance
The RecordUtterance command records the caller’s voice and returns the URL of a file containing the audio recording.
RecordUtterance is blocking and is a terminal command. As such, the actionUrl property is required, and control of the Call picks up using the PerCL returned in response to the actionUrl. Recording information is returned in the actionUrl request.
URL to which information on the completed recording is submitted. The PerCL received in response is then used to continue with Call processing.
silenceTimeoutMs
Integer
Interval of silence that should elapse before ending the recording.
[optional]
finishOnKey
String
Key that triggers the end of the recording. any digit, ‘#’, or ‘*’
[optional]
maxLengthSec
Integer
Maximum length for the command execution in seconds.
[optional]
playBeep
Boolean
Indicates whether to play a beep sound before the start of the recording. If set to false, no beep is played.
[optional]
autoStart
Boolean
If false, recording begins immediately after the RecordUtterance command is processed. If true, recording begins when audio is present and if audio begins before the maxLengthSec timeout. If no audio begins before maxLengthSec, no recording is generated.
[optional]
Percl::StartRecordCall
The StartRecordCall command records the current call and returns the URL of a file containing the audio recording when recording completes.
StartRecordCall is non-blocking. After recording of the current call begins, control of the call moves to the PerCL command that follows StartRecordCall in the current PerCL script.
PlayEarlyMedia is relevant only when present as the very first command in the PerCL script returned for an incoming Call. In such cases, the command is executed before FreeClimb attempts to connect the call. The audio file it uses can be stored in any location that is accessible via URL.
Name | Type | Description | Notes ————- | ————- | ————- | ————- file | String | URL of the audio file to be played to the caller. The URL can be the recordingUrl generated from the RecordUtterance or StartRecordCall PerCL commands or any accessible URL. FreeClimb will respect Cache-Control headers for this file. Use these to limit repeated requests for unchanged audio. If no Cache-Control header is provided, the file will be cached for seven days by default.
Percl::Play
The Play command plays an audio file back to the caller. The audio file may be located at any location accessible via a URL. Play can exist as a stand-alone command or as a nested command. It does not allow barge-in unless nested within a GetSpeech command. The file will always be played to completion unless nested.
Name | Type | Description | Notes ————- | ————- | ————- | ————- file | String | URL of the audio file to be played to the caller. The URL can be the recordingUrl generated from the RecordUtterance or StartRecordCall PerCL commands. loop | Integer | Number of times the audio file is played. Specifying ‘0’ causes the Play action to loop until the Call is hung up. | [optional] conferenceId | String | ID of the Conference the audio should be rendered to. If this is not specified, the audio is by default rendered to the caller associated with the call leg that corresponds to the current PerCL execution context. The call leg associated with this command must be in the specified Conference or the command will return an error. | [optional]
Percl::Say
The Say command provides Text-To-Speech (TTS) support. It converts text to speech and then renders it in a female voice back to the caller. Say is useful in cases where it’s difficult to pre-record a prompt for any reason. Say does not allow barge-in unless nested within a GetSpeech command. The file will always be played to completion unless nested.
When translating text to speech, the Say action will make assumptions about how to pronounce numbers, dates, times, amounts of money and other abbreviations.
Name | Type | Description | Notes ————- | ————- | ————- | ————- text | String | The message to be played to the caller using TTS. The size of the string is limited to 4 KB (or 4,096 bytes). An empty string will cause the command to be skipped. loop | Integer | Number of times the text is said. Specifying ‘0’ causes the Say action to loop until the Call is hung up. | [optional] language | String | Language and (by implication) the locale to use. This implies the accent and pronunciations to be usde for the TTS. The complete list of valid values for the language attribute is shown below. | [optional] conferenceId | String | ID of the Conference the speech should be rendered to. If this is not specified, the speech is by default rendered to the Caller associated with the call leg that corresponds to the current PerCL execution context. The call leg associated with this command must be in the specified Conference or the command will return an error. | [optional] enforcePCI | Boolean | Parameter enforcePCI will not log the ‘text’ as required by PCI compliance.
Percl::GetDigits
The GetDigits command collects DTMF inputs from the caller. It is only supported only when there is a single party on the Call.
GetDigits is a Terminal Command — any actions following it are never executed. When the Caller is done entering the digits, FreeClimb submits that data to the provided actionUrl using an HTTP POST request. Your server will be required to respond to the FreeClimb Webhook with PerCL to continue handling the call.
Name | Type | Description | Notes ————- | ————- | ————- | ————- actionUrl | String | When the Caller has finished entering digits, FreeClimb will make an HTTP POST request to this URL. A PerCL response is expected to continue handling the Call. Make sure to keep “http://“ in the URL. initialTimeoutMs | Integer | Maximum time in milliseconds that FreeClimb will wait for the Caller to press the first digit before making a determination that a timeout has occurred and moving on to make the request to the actionUrl to submit the results of the GetDigits command. This timeout interval begins when all nested commands have been fully executed. | [optional] digitTimeoutMs | Integer | Maximum time in milliseconds that FreeClimb will wait for the Caller to press any digit after the last digit entered, before making a determination that a timeout has occurred and moving on to make the request to the actionUrl to submit the results of the GetDigits command. This timeout interval begins and resets after each digit entered. | [optional] finishOnKey | String | Digit that causes the input sequence to be deemed complete. This attribute defers to the timeout attribute – so, if a timeout occurs, then the command terminates regardless of the value of finishOnKey. | [optional] minDigits | Integer | Minimum number of digits expected in the input. If specified, FreeClimb will return the collected digits only if the Caller has entered at least that many digits. | [optional] maxDigits | Integer | Maximum number of digits expected in the input. If the terminating digit is not entered and the caller has entered the maximum number of digits allowed, the GetDigits command terminates regardless of the value of finishOnKey. | [optional] prompts | String | JSON array of PerCL commands to nest within the GetDigits command. The Say, Play, and Pause commands can be used. The nested actions are executed while FreeClimb is waiting for input from the Caller. | [optional] enforcePCI | Boolean | Parameter enforcePCI obscures the result as required by PCI compliance.
Percl::GetSpeech
The GetSpeech command enables the Caller to respond to the application using a supported language. Unlike DTMF entry, which implicitly restricts the user to using the available buttons on the phone key pad, speech input allows for flexible audio inputs based on grammar. FreeClimb supports grammars written using GRXML compatible with the Microsoft Speech Platform.
GetSpeech is only supported on a single call leg. It is not supported when there are two or more call legs connected (as in within a Conference).
Name | Type | Description | Notes ————- | ————- | ————- | ————- actionUrl | String | When the caller has finished speaking or the command has timed out, FreeClimb will make a POST request to this URL. A PerCL response is expected to continue handling the call. grammarFile | String | The grammar file to use for speech recognition. If grammarType is set to URL, this attribute is specified as a download URL. grammarType | String | The grammar file type to use for speech recognition. A value of ‘URL’ indicates the grammarFile attribute specifies a URL that points to the grammar file. A value of ‘BUILTIN’ indicates the grammarFile attribute specifies the name of one of the platform built-in grammar files. | [optional] grammarRule | String | The grammar rule within the specified grammar file to use for speech recognition. This attribute is optional if grammarType is URL and ignored if grammarType is BUILTIN. | [optional if grammarType is URL] playBeep | Boolean | Indicates whether a beep should be played just before speech recognition is initiated so that the speaker can start to speak. | [optional] prompts | Percl Commands Array | The JSON array of PerCL commands to nest within the GetSpeech command. The Say, Play, and Pause commands can be used. The nested actions are executed while FreeClimb is waiting for input from the caller. This allows for playing menu options to the caller and to prompt for the expected input. These commands stop executing when the caller begins to input speech. | [optional] noInputTimeoutMs | Integer | When recognition is started and there is no speech detected for noInputTimeoutMs milliseconds, the recognizer will terminate the recognition operation. | [optional] recognitionTimeoutMs | Integer | When playback of prompts ends and there is no match for recognitionTimeoutMs milliseconds, the recognizer will terminate the recognition operation. | [optional] confidenceThreshold | Float | When a recognition resource recognizes a spoken phrase, it associates a confidence level with that match. Parameter confidenceThreshold specifies what confidence level is considered a successful match. Values are between 0.0 and 1.0. | [optional] sensitivityLevel | Float | The speech recognizer supports a variable level of sound sensitivity. The sensitivityLevel attribute allows for filtering out background noise, so it is not mistaken for speech. Values are between 0.0 and 1.0 | [optional] speechCompleteTimeoutMs | Integer | Parameter speechCompleteTimeoutMs specifies the length of silence required following user speech before the speech recognizer finalizes a result. This timeout applies when the recognizer currently has a complete match against an active grammar. Reasonable speech complete timeout values are typically in the range of 0.3 seconds to 1.0 seconds. | [optional] speechIncompleteTimeoutMs | Integer | Parameter speechIncompleteTimeoutMs specifies the length of silence following user speech after which a recognizer finalizes a result. This timeout applies when the speech prior to the silence is an incomplete match of all active grammars. Timeout speechIncompleteTimeoutMs is usually longer than speechCompleteTimeoutMs to allow users to pause mid-utterance. | [optional] enforcePCI | Boolean | Parameter enforcePCI will not log the ‘text’ as required by PCI compliance. | [optional]
Percl::Sms
The Sms command can be used to send an SMS message to a phone number during a phone call.
E.164 representation of the phone number to which the message will be sent. Must be within FreeClimb’s service area and E.164 formatting (e.g., +18003608245).
from
String
E.164 representation of the phone number to use as the sender. This must be an incoming phone number you have purchased from FreeClimb.
text
String
Text contained in the message (maximum 160 characters).
notificationUrl
String
When the message changes status, this URL will be invoked using HTTP POST with the messageStatus parameters. This is a notification only; any PerCL returned will be ignored.
diff --git a/rubydocs/docs/percl.md b/rubydocs/docs/percl.md
new file mode 100644
index 0000000..3e82ad4
--- /dev/null
+++ b/rubydocs/docs/percl.md
@@ -0,0 +1,697 @@
+# Percl
+
+The Performance Command Language (PerCL) defines a set of instructions, written in JSON format, that express telephony actions to be performed in response to an event on the FreeClimb platform. FreeClimb communicates with the application server when events associated with the application occur, so the webserver can instruct FreeClimb how to handle such events using PerCL scripts.
+
+When creating a Percl object, required parameters must be used in the constructer while optional parameters must be set direclty on the given Percl object. Example:
+```ruby
+digits = '630'
+send_digits = Percl::SendDigits.new(digits)
+send_digits.pauseMs = '500'
+```
+
+## Documentation for PerCL Responses
+Class | Description
+------------ | -------------
+[*Percl::OutDial*](percl.md#percl::outdial) | The `OutDial` command is used to call a phone number
+[*Percl::Hangup*](percl.md#percl::hangup) | The `Hangup` command terminates a Call
+[*Percl::Pause*](percl.md#percl::pause) | The `Pause` command halts execution of the current PerCL script for a specified number of millisecond
+[*Percl::Redirect*](percl.md#percl::redirect) | The `Redirect` command transfers control of a Call to the PerCL at a different URL
+[*Percl::SendDigits*](percl.md#percl::senddigits) | The `SendDigits` command plays DTMF tones on a live Call. This is useful for navigating through IVR menus or dialing extensions
+[*Percl::Reject*](percl.md#percl::reject) | The `Reject` command blocks an incoming Call.
+[*Percl::CreateConference*](percl.md#percl::createConference) | The `CreateConference` command does exactly what its name implies — it creates an unpopulated Conference (one without any Participants).
+[*Percl::TerminateConference*](percl.md#percl::terminateConference) | The `TerminateConference` command terminates an existing Conference.
+[*Percl::AddToConference*](percl.md#percl::addToConference) | The `AddToConference` command adds a Participant to a Conference.
+[*Percl::RemoveFromConference*](percl.md#percl::removeFromConference) | The `RemoveFromConference` command removes a Participant from a Conference but does not hang up.
+[*Percl::SetListen*](percl.md#percl::setListen) | The `SetListen` command enables or disables the listen privilege for a Conference Participant provided both calls are in the same conference.
+[*Percl::SetTalk*](percl.md#percl::setTalk) | The `SetTalk` command enables or disables the talk privilege for a Participant in a Conference provided both calls are in the same conference.
+[*Percl::Enqueue*](percl.md#percl::enqueue) | The `Enqueue` command adds the current Call to a call Queue.
+[*Percl::Dequeue*](percl.md#percl::dequeue) | The `Dequeue` command transfers control of a Call that is in a Queue so that the waiting caller exits the Queue.
+[*Percl::RecordUtterance*](percl.md#percl::recordUtterance) | The `RecordUtterance` command records the caller's voice and returns the URL of a file containing the audio recording.
+[*Percl::StartRecordCall*](percl.md#percl::startRecordCall) | The `StartRecordCall` command records the current call and returns the URL of a file containing the audio recording when recording completes.
+[*Percl::PlayEarlyMedia*](percl.md#percl::playEarlyMedia) | The `PlayEarlyMedia` command plays A media file before attempting to connect a call
+[*Percl::Play*](percl.md#percl::play) | the `Play` command plays an audio file back to the caller.
+[*Percl::Say*](percl.md#percl::say) | The `Say` command provides Text-To-Speech (TTS) support. It converts text to speech and then renders it in a female voice back to the caller.
+[*Percl::GetDigits*](percl.md#percl::getDigits) | The `GetDigits` command collects DTMF inputs from the caller.
+[*Percl::GetSpeech*](percl.md#percl::getSpeech) | The `GetSpeech` command enables the Caller to respond to the application using a supported language.
+[*Percl::Sms*](percl.md#percl::Sms) | The `Sms` command can be used to send an SMS message to a phone number during a phone call.
+
+
+
+## Percl::OutDial
+
+The OutDial command is used to call a phone number
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ out_dial = Percl::OutDial.new('MOCK_ACTION_URL', 'MOCK_CALL_CONNECT_URL', 'MOCK_CALLING_NUMBER', 'MOCK_DESTINATION')
+ script = Percl::Script.new
+ script.add(out_dial)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **actionUrl** | **String**| URL to which FreeClimb sends an HTTP POST request.
+ **callConnectUrl** | **String**| URL to which FreeClimb makes an HTTP POST request informing the result of the OutDial.
+ **callingNumber** | **String** | The caller ID to show to the called party when FreeClimb calls. This can be one of the following: The To or From number provided in the first Webhook to your webserver. Any phone number you have purchased from FreeClimb.
+ **destination** | **String** | E.164 representation of the phone number to Call.
+ **ifMachine** | **String** | Specifies how FreeClimb should handle this OutDial if an answering machine answers the Call. Valid values: `redirect` invokes the ifMachineUrl for instructions. `hangup` hangs up the Call. The ifMachineUrl will not be invoked. | [optional]
+ **ifMachineUrl** | **String** | When the `ifMachine` flag is set to `redirect`, this attribute specifies a URL to which FreeClimb makes a POST request when an answering machine or a fax machine is detected. This URL is required if the `ifMachine` flag is set to `redirect`. Otherwise, it should not be included. | [required if `ifMachine` is set to `redirect`]
+ **sendDigits** | **String** | DTMF tones to play to the outdialed Call. This is typically used to dial a number and then dial an extension. | [optional]
+ **statusCallBackUrl** | **String** | When the outdialed Call leg terminates, FreeClimb sends a `callStatus` Webhook to the `statusCallbackUrl`. This is a notification only; any PerCL command returned is ignored. | [optional]
+ **timeout** | **String** | Maximum time in seconds the `OutDial` command waits for the called party to answer the Call. When a timeout occurs, FreeClimb invokes the `callConnectUrl` Webhook to report that the out-dialed Call has ended with a status of `noAnswer`. | [optional]
+
+
+## Percl::Hangup
+
+The Hangup command terminates a Call
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ hangup = Percl::Hangup.new
+ script = Percl::Script.new
+ script.add(out_dial)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**callId** | **String** | The ID of the Call leg to hang up. If not specified, the Call leg corresponding to the current PerCL execution context hangs up. | [optional]
+**reason** | **String** | The user defined reason for the hangup. In general, applications should use a set of enumerated values that are predefined to cover all exit points of the Call flows for the given application. | [optional]
+
+## Percl::Pause
+
+The `Pause` command halts execution of the current PerCL script for a specified number of milliseconds. If `Pause` is the first command in a PerCL document, FreeClimb will wait for the specified time to elapse before picking up the call.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ pause = Percl::Pause.new(2000)
+ script = Percl::Script.new
+ script.add(out_dial)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**length** | **Integer** | Length in milliseconds. FreeClimb will wait silently before continuing on.
+
+
+## Percl::Redirect
+
+The `Redirect` command transfers control of a Call to the PerCL at a different URL. `Redirect` is a terminal command, so any actions following it are never executed.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ redirect = Percl::Redirect.new('MOCK_REDIRECT_URL')
+ script = Percl::Script.new
+ script.add(redirect)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**actionUrl** | **String** | URL to request a new PerCL script to continue with the current Call's processing. When `Redirect` invokes the `actionUrl`, an `inbound` Webhook is sent.
+
+
+## Percl::SendDigits
+
+The `SendDigits` command plays DTMF tones on a live Call. This is useful for navigating through IVR menus or dialing extensions.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ send = Percl::SendDigits.new('12367#')
+ script = Percl::Script.new
+ script.add(send)
+ script.to_json
+end
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**digits** | **String** | String containing the digits to be played. The string cannot be empty and can include any digit, plus `#`, or `*`, and allows embedding specification for delay or pause between the output of individual digits.
+**pauseMs** | **Integer** | Pause between digits in milliseconds. Valid values are 100-1000 milliseconds and will be adjusted by FreeClimb to satisfy the constraint. | [optional]
+
+
+## Percl::Reject
+
+The `Reject` command blocks an incoming Call. Using `Reject` is the only way to prevent FreeClimb from answering a Call. Any other response will result in an answered Call and your account will be billed.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ reject = Percl::Reject.new
+ script = Percl::Script.new
+ script.add(reject)
+ script.to_json
+end
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**reason** | **String** | Reason for the rejection. This can be any string value. In general, applications should use a set of enumerated values that are predefined to cover all exit points of the call flows for the given application. | [optional]
+
+
+## Percl::CreateConference
+
+The `CreateConference` command does exactly what its name implies — it creates an unpopulated Conference (one without any Participants). Once created, a Conference remains in FreeClimb until explicitly terminated by a customer. Once a Conference has been terminated, it can no longer be used.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ create_conference = Percl::CreateConference.new('MOCK_ACTION_URL')
+ script = Percl::Script.new
+ script.add(create_conference)
+ script.to_json
+end
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**actionUrl** | **String** | This URL is invoked once the Conference is successfully created. Actions on the Conference, such as adding Participants, can be performed via the PerCL script returned in the response.
+**alias** | **String** | Descriptive name for the Conference. | [optional]
+**playBeep** | **String** | Indicates whether to play a beep when a Participant enters or leaves the Conference. either `always`, `never`, `entryOnly`, or `exitOnly`. Leaving this unset will make conference default to `always` | [optional]
+**record** | **String** | When set to `true`, the entire Conference is recorded. The `statusCallbackUrl` of the Conference will receive a `conferenceRecordingEnded` Webhook when the Conference transitions from the `inProgress` to empty state. | [optional]
+**waitUrl** | **String** | If specified, this URL provides the custom hold music for the Conference when it is in the populated state. This attribute is always fetched using HTTP GET and is fetched just once – when the Conference is created. The URL must be an audio file that is reachable and readable by FreeClimb. | [optional]
+**statusCallbackUrl** | **String** | This URL is invoked when the status of the Conference changes or when a recording of the Conference has become available. | [optional]
+
+
+## Percl::TerminateConference
+
+The `TerminateConference` command terminates an existing Conference. Any active participants are hung up on by FreeClimb. If this is not the desired behavior, use the `RemoveFromConference` command to unbridge Calls that should not be hung up.
+
+Note: The Call requesting TerminateConference must be on the same Conference for this command to execute.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ terminate = Percl::TerminateConference.new('MOCK_CONFERENCE_ID')
+ script = Percl::Script.new
+ script.add(terminate)
+ script.to_json
+end
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**conferenceId** | **String** | ID of the conference to terminate.
+
+
+## Percl::AddToConference
+
+The `AddToConference` command adds a Participant to a Conference. If this Participant currently is in another Conference, the Participant is first removed from that Conference. Two Call legs can be bridged together by creating a Conference and adding both Call legs to it via `AddToConference`.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ # Assuming Conference is already created
+ add = Percl::AddToConference.new('MOCK_CONF_ID', 'MOCK_CALL_ID')
+ script = Percl::Script.new
+ script.add(add)
+ script.to_json
+end
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**conferenceId** | **String** | ID of the Conference to which to add the Participant (Call leg). Conference must exist or an error will result.
+**callId** | **String** | ID of the Call that will be added to the specified Conference. The Call must be in progress or an error will result. If the Call is part of an existing Conference, it is first removed from that Conference and is then moved to the new one.
+**startConfOnEnter** | **Boolean** | Flag that indicates whether a Conference starts upon entry of this particular Participant. This is usually set to `true` for moderators and `false` for all other Participants. | [optional]
+**talk** | **Boolean** | If `true`, the Participant joins the Conference with talk privileges. This may be modified later via the REST API or `SetTalk` PerCL command. | [optional]
+**listen** | **Boolean** | If `true`, the Participant joins the Conference with listen privileges. This may be modified later via the REST API or `SetListen` PerCL command. | [optional]
+**allowCallControl** | **Boolean** | If `true`, Call control will be enabled for this Participant's Call leg. | [optional]
+**callControlSequence** | **String** | Defines a sequence of digits that, when entered by this caller, invokes the `callControlUrl`. Only digits plus '*', and '#' may be used. | [`required` if allowCallControl is `true`]
+**callControlUrl** | **String** | URL to be invoked when this Participant enters the digit sequence defined in the `callControlSequence` attribute. | [`required` if allowCallControl is `true`]
+**leaveConferenceUrl** | **String** | URL to be invoked when the Participant leaves the Conference. | [optional]
+**notificationUrl** | **String** | When the Participant enters the Conference, this URL will be invoked using an HTTP POST request with the standard request parameters. | [optional]
+
+
+## Percl::RemoveFromConference
+
+The `RemoveFromConference` command removes a Participant from a Conference but does not hang up. Instead, the Call is simply unbridged and what happens next with the Call is determined by the PerCL returned in response to the `leaveConferenceUrl` attribute.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ # Assuming Conference is already created and participant is in conference
+ remove = Percl::RemoveFromConference.new('MOCK_CALL_ID')
+ script = Percl::Script.new
+ script.add(remove)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**callId** | **String** | ID of the Call leg to be removed from the Conference. The Call must be in a Conference or an error will be triggered.
+
+
+
+## Percl::SetListen
+
+The `SetListen` command enables or disables the listen privilege for a Conference Participant provided both calls are in the same conference. The Participant can hear what the other participants are saying only if this privilege is enabled.
+
+### Example
+
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ # Assuming Conference is already created and participant is in conference
+ listen = Percl::SetListen.new('MOCK_CALL_ID')
+ script = Percl::Script.new
+ script.add(listen)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**callId** | **String** | ID of the call leg that is to be assigned the listen privilege. The Call must be in a Conference or an error will be triggered.
+**listen** | **Boolean** | Specifying `false` will silence the Conference for this Participant. | [optional]
+
+
+## Percl::SetTalk
+
+The `SetTalk` command enables or disables the talk privilege for a Participant in a Conference provided both calls are in the same conference. If 'true', no audio from that Participant is shared with the other Participants of the Conference.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ # Assuming Conference is already created and participant is in conference
+ talk = Percl::SetTalk.new('MOCK_CALL_ID')
+ script = Percl::Script.new
+ script.add(talk)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**callId** | **String** | ID of the call leg that is to be muted or unmuted. The Call must be in a Conference or an error will be triggered.
+**talk** | **Boolean** | Specifying `false` mutes the Participant. | [optional]
+
+## Percl::Enqueue
+
+The `Enqueue` command adds the current Call to a call Queue. If the specified Queue does not exist, it is created and then the Call is added to it. The default maximum length of the queue is 100. This can be modified using the REST API.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ # Assuming Queue is already created
+ enqueue = Percl::Enqueue.new('MOCK_QUEUE_ID', 'MOCK_WAIT_URL', 'MOCK_ACTION_URL')
+ script = Percl::Script.new
+ script.add(enqueue)
+ script.to_json
+end
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**queueId** | **String** | ID of the Queue to which to add the Call. If the Queue does not exist, it will be created. The ID must start with QU followed by 40 hex characters.
+**waitUrl** | **String** | Specifies a URL pointing to a PerCL script containing actions to be executed while the caller is waiting in the Queue. Once the script returned by the `waitUrl` runs out of commands to execute, FreeClimb will re-request the `waitUrl` and start over, essentially looping the script indefinitely.
+**actionUrl** | **String** | A request is made to this URL when the Call leaves the Queue, which can occur if enqueue of the Call fails or when the call is dequeued via the `Dequeue` command, the REST API (POST to Queue Member resource), or the caller hangs up.
+**notificationUrl** | **String** | URL to be invoked when the call enters the queue. The request to the URL contains the standard request parameters.This is a notification only; any PerCL returned will be ignored. | [optional]
+
+
+## Percl::Dequeue
+
+The `Dequeue` command transfers control of a Call that is in a Queue so that the waiting caller exits the Queue. Execution continues with the first command in the PerCL script returned by the `actionUrl` specified in the `Enqueue` command.
+
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ # Assuming call is in queue
+ dequeue = Percl::Dequeue.new
+ script = Percl::Script.new
+ script.add(dequeue)
+ script.to_json
+end
+```
+
+### Parameters
+none
+
+
+## Percl::RecordUtterance
+
+The `RecordUtterance` command records the caller's voice and returns the URL of a file containing the audio recording.
+
+`RecordUtterance` is blocking and is a terminal command. As such, the `actionUrl` property is required, and control of the Call picks up using the PerCL returned in response to the `actionUrl`. Recording information is returned in the `actionUrl` request.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ record = Percl::RecordUtterance.new('MOCK_ACTION_URL')
+ script = Percl::Script.new
+ script.add(record)
+ script.to_json
+end
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**actionUrl** | **String** | URL to which information on the completed recording is submitted. The PerCL received in response is then used to continue with Call processing.
+**silenceTimeoutMs** | **Integer** | Interval of silence that should elapse before ending the recording. | [optional]
+**finishOnKey** | **String** | Key that triggers the end of the recording. any digit, '#', or '*' | [optional]
+**maxLengthSec** | **Integer** | Maximum length for the command execution in seconds. | [optional]
+**playBeep** | **Boolean** | Indicates whether to play a beep sound before the start of the recording. If set to `false`, no beep is played. | [optional]
+**autoStart** | **Boolean** | If `false`, recording begins immediately after the RecordUtterance command is processed. If `true`, recording begins when audio is present and if audio begins before the `maxLengthSec` timeout. If no audio begins before `maxLengthSec`, no recording is generated. | [optional]
+
+
+## Percl::StartRecordCall
+
+The `StartRecordCall` command records the current call and returns the URL of a file containing the audio recording when recording completes.
+
+`StartRecordCall` is non-blocking. After recording of the current call begins, control of the call moves to the PerCL command that follows `StartRecordCall` in the current PerCL script.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ record = Percl::StartRecordCall.new
+ script = Percl::Script.new
+ script.add(record)
+ script.to_json
+end
+```
+
+### Parameters
+none
+
+
+## Percl::PlayEarlyMedia
+
+`PlayEarlyMedia` is relevant only when present as the very first command in the PerCL script returned for an incoming Call. In such cases, the command is executed before FreeClimb attempts to connect the call. The audio file it uses can be stored in any location that is accessible via URL.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ media = Percl::PlayEarlyMedia.new('MOCK_FILE_URL')
+ script = Percl::Script.new
+ script.add(media)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**file** | **String** | URL of the audio file to be played to the caller. The URL can be the `recordingUrl` generated from the `RecordUtterance` or `StartRecordCall` PerCL commands or any accessible URL. FreeClimb will respect Cache-Control headers for this file. Use these to limit repeated requests for unchanged audio. If no Cache-Control header is provided, the file will be cached for seven days by default.
+
+
+## Percl::Play
+
+The `Play` command plays an audio file back to the caller. The audio file may be located at any location accessible via a URL. `Play` can exist as a stand-alone command or as a nested command. It does not allow barge-in unless nested within a `GetSpeech` command. The file will always be played to completion unless nested.
+
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ play = Percl::Play.new('MOCK_FILE_URL')
+ script = Percl::Script.new
+ script.add(play)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**file** | **String** | URL of the audio file to be played to the caller. The URL can be the `recordingUrl` generated from the `RecordUtterance` or `StartRecordCall` PerCL commands.
+**loop** | **Integer** | Number of times the audio file is played. Specifying '0' causes the Play action to loop until the Call is hung up. | [optional]
+**conferenceId** | **String** | ID of the Conference the audio should be rendered to. If this is not specified, the audio is by default rendered to the caller associated with the call leg that corresponds to the current PerCL execution context. The call leg associated with this command must be in the specified Conference or the command will return an error. | [optional]
+
+
+## Percl::Say
+
+The `Say` command provides Text-To-Speech (TTS) support. It converts text to speech and then renders it in a female voice back to the caller. `Say` is useful in cases where it's difficult to pre-record a prompt for any reason. `Say` does not allow barge-in unless nested within a `GetSpeech` command. The file will always be played to completion unless nested.
+
+When translating text to speech, the `Say` action will make assumptions about how to pronounce numbers, dates, times, amounts of money and other abbreviations.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ say = Percl::Say.new('Hello, World!')
+ script = Percl::Script.new
+ script.add(say)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**text** | **String** | The message to be played to the caller using TTS. The size of the string is limited to 4 KB (or 4,096 bytes). An empty string will cause the command to be skipped.
+**loop** | **Integer** | Number of times the text is said. Specifying '0' causes the `Say` action to loop until the Call is hung up. | [optional]
+**language** | **String** | Language and (by implication) the locale to use. This implies the accent and pronunciations to be usde for the TTS. The complete list of valid values for the language attribute is shown below. | [optional]
+**conferenceId** | **String** | ID of the Conference the speech should be rendered to. If this is not specified, the speech is by default rendered to the Caller associated with the call leg that corresponds to the current PerCL execution context. The call leg associated with this command must be in the specified Conference or the command will return an error. | [optional]
+**enforcePCI** | **Boolean** | Parameter `enforcePCI` will not log the 'text' as required by PCI compliance.
+
+
+## Percl::GetDigits
+
+The `GetDigits` command collects DTMF inputs from the caller. It is only supported only when there is a single party on the Call.
+
+`GetDigits` is a Terminal Command — any actions following it are never executed. When the Caller is done entering the digits, FreeClimb submits that data to the provided `actionUrl` using an HTTP POST request. Your server will be required to respond to the FreeClimb Webhook with PerCL to continue handling the call.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ digits = Percl::GetDigits.new('MOCK_ACTION_URL')
+ script = Percl::Script.new
+ script.add(digits)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**actionUrl** | **String** | When the Caller has finished entering digits, FreeClimb will make an HTTP POST request to this URL. A PerCL response is expected to continue handling the Call. Make sure to keep “http://“ in the URL.
+**initialTimeoutMs** | **Integer** | Maximum time in milliseconds that FreeClimb will wait for the Caller to press the first digit before making a determination that a `timeout` has occurred and moving on to make the request to the `actionUrl` to submit the results of the `GetDigits` command. This timeout interval begins when all nested commands have been fully executed. | [optional]
+**digitTimeoutMs** | **Integer** | Maximum time in milliseconds that FreeClimb will wait for the Caller to press any digit after the last digit entered, before making a determination that a `timeout` has occurred and moving on to make the request to the actionUrl to submit the results of the `GetDigits` command. This timeout interval begins and resets after each digit entered. | [optional]
+**finishOnKey** | **String** | Digit that causes the input sequence to be deemed complete. This attribute defers to the `timeout` attribute – so, if a `timeout` occurs, then the command terminates regardless of the value of `finishOnKey`. | [optional]
+**minDigits** | **Integer** | Minimum number of digits expected in the input. If specified, FreeClimb will return the collected digits only if the Caller has entered at least that many digits. | [optional]
+**maxDigits** | **Integer** | Maximum number of digits expected in the input. If the terminating digit is not entered and the caller has entered the maximum number of digits allowed, the `GetDigits` command terminates regardless of the value of `finishOnKey`. | [optional]
+**prompts** | **String** | JSON array of PerCL commands to nest within the `GetDigits` command. The `Say`, `Play`, and `Pause` commands can be used. The nested actions are executed while FreeClimb is waiting for input from the Caller. | [optional]
+**enforcePCI** | **Boolean** | Parameter `enforcePCI` obscures the result as required by PCI compliance.
+
+
+## Percl::GetSpeech
+
+The `GetSpeech` command enables the Caller to respond to the application using a supported language. Unlike DTMF entry, which implicitly restricts the user to using the available buttons on the phone key pad, speech input allows for flexible audio inputs based on grammar. FreeClimb supports grammars written using GRXML compatible with the Microsoft Speech Platform.
+
+`GetSpeech` is only supported on a single call leg. It is not supported when there are two or more call legs connected (as in within a Conference).
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ speech = Percl::GetSpeech.new('MOCK_ACTION_URL', 'MOCK_GRAMMAR_FILE')
+ script = Percl::Script.new
+ script.add(speech)
+ script.to_json
+end
+```
+
+### Parameters
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**actionUrl** | **String** | When the caller has finished speaking or the command has timed out, FreeClimb will make a POST request to this URL. A PerCL response is expected to continue handling the call.
+**grammarFile** | **String** | The grammar file to use for speech recognition. If grammarType is set to URL, this attribute is specified as a download URL.
+**grammarType** | **String** | The grammar file type to use for speech recognition. A value of 'URL' indicates the grammarFile attribute specifies a URL that points to the grammar file. A value of 'BUILTIN' indicates the grammarFile attribute specifies the name of one of the platform built-in grammar files. | [optional]
+**grammarRule** | **String** | The grammar rule within the specified grammar file to use for speech recognition. This attribute is optional if `grammarType` is `URL` and ignored if `grammarType` is `BUILTIN`. | [optional if `grammarType` is `URL`]
+**playBeep** | **Boolean** | Indicates whether a beep should be played just before speech recognition is initiated so that the speaker can start to speak. | [optional]
+**prompts** | **Percl Commands Array** | The JSON array of PerCL commands to nest within the `GetSpeech` command. The `Say`, `Play`, and `Pause` commands can be used. The nested actions are executed while FreeClimb is waiting for input from the caller. This allows for playing menu options to the caller and to prompt for the expected input. These commands stop executing when the caller begins to input speech. | [optional]
+**noInputTimeoutMs** | **Integer** | When recognition is started and there is no speech detected for `noInputTimeoutMs` milliseconds, the recognizer will terminate the recognition operation. | [optional]
+**recognitionTimeoutMs** | **Integer** | When playback of prompts ends and there is no match for `recognitionTimeoutMs` milliseconds, the recognizer will terminate the recognition operation. | [optional]
+**confidenceThreshold** | **Float** | When a recognition resource recognizes a spoken phrase, it associates a confidence level with that match. Parameter `confidenceThreshold` specifies what confidence level is considered a successful match. Values are between 0.0 and 1.0. | [optional]
+**sensitivityLevel** | **Float** | The speech recognizer supports a variable level of sound sensitivity. The sensitivityLevel attribute allows for filtering out background noise, so it is not mistaken for speech. Values are between 0.0 and 1.0 | [optional]
+**speechCompleteTimeoutMs** | **Integer** | Parameter `speechCompleteTimeoutMs` specifies the length of silence required following user speech before the speech recognizer finalizes a result. This timeout applies when the recognizer currently has a complete match against an active grammar. Reasonable speech complete timeout values are typically in the range of 0.3 seconds to 1.0 seconds. | [optional]
+**speechIncompleteTimeoutMs** | **Integer** | Parameter `speechIncompleteTimeoutMs` specifies the length of silence following user speech after which a recognizer finalizes a result. This timeout applies when the speech prior to the silence is an incomplete match of all active grammars. Timeout `speechIncompleteTimeoutMs` is usually longer than `speechCompleteTimeoutMs` to allow users to pause mid-utterance. | [optional]
+**enforcePCI** | **Boolean** | Parameter enforcePCI will not log the 'text' as required by PCI compliance. | [optional]
+
+
+## Percl::Sms
+
+The `Sms` command can be used to send an SMS message to a phone number during a phone call.
+
+International SMS is disabled by default.
+
+### Example
+
+```ruby
+# load the gems
+require 'sinatra'
+require 'freeclimb'
+require 'json'
+
+post '/voice' do
+ sms = Percl::Sms.new('MOCK_TO_NUMBER', 'MOCK_FROM_NUMBER', 'MOCK_TEXT')
+ script = Percl::Script.new
+ script.add(sms)
+ script.to_json
+end
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**to** | **String** | E.164 representation of the phone number to which the message will be sent. Must be within FreeClimb's service area and E.164 formatting (e.g., +18003608245).
+**from** | **String** | E.164 representation of the phone number to use as the sender. This must be an incoming phone number you have purchased from FreeClimb.
+**text** | **String** | Text contained in the message (maximum 160 characters).
+**notificationUrl** | **String** | When the message changes status, this URL will be invoked using HTTP POST with the messageStatus parameters. This is a notification only; any PerCL returned will be ignored.
diff --git a/rubydocs/favicon.ico b/rubydocs/favicon.ico
new file mode 100644
index 0000000..81c3854
Binary files /dev/null and b/rubydocs/favicon.ico differ
diff --git a/rubydocs/feed.xml b/rubydocs/feed.xml
new file mode 100644
index 0000000..760d9c2
--- /dev/null
+++ b/rubydocs/feed.xml
@@ -0,0 +1 @@
+Jekyll2020-03-02T10:22:22-06:00http://localhost:4000/rubydocs/feed.xmlFreeClimb Ruby SDKRuby SDK Documentation for the FreeClimb API
\ No newline at end of file
diff --git a/rubydocs/index.html b/rubydocs/index.html
new file mode 100644
index 0000000..2c77230
--- /dev/null
+++ b/rubydocs/index.html
@@ -0,0 +1,32 @@
+ FreeClimb - FreeClimb Ruby SDKFreeClimb | FreeClimb Ruby SDK
FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
This SDK is automatically generated by the OpenAPI Generator project:
POST /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId}
Update an Incoming Number
Documentation for PerCL Responses
The Performance Command Language (PerCL) defines a set of instructions, written in JSON format, that express telephony actions to be performed in response to an event on the FreeClimb platform. FreeClimb communicates with the application server when events associated with the application occur, so the webserver can instruct FreeClimb how to handle such events using PerCL scripts.
When creating a Percl object, required parameters must be used in the constructer while optional parameters must be set direclty on the given Percl object. Example:
diff --git a/rubydocs/index.md b/rubydocs/index.md
new file mode 100644
index 0000000..2be1899
--- /dev/null
+++ b/rubydocs/index.md
@@ -0,0 +1,238 @@
+# FreeClimb
+
+FreeClimb - the Ruby gem for the FreeClimb API
+
+FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
+
+This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
+
+- API version: 1.0.0
+- Package version: 1.0.0
+- Build package: org.openapitools.codegen.languages.RubyClientCodegen
+
+## Installation
+
+### Build a gem
+
+To build the Ruby code into a gem:
+
+```shell
+gem build freeclimb.gemspec
+```
+
+Then either install the gem locally:
+
+```shell
+gem install ./freeclimb-1.0.0.gem
+```
+
+(for development, run `gem install --dev ./freeclimb-1.0.0.gem` to install the development dependencies)
+
+or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
+
+Finally add this to the Gemfile:
+
+ gem 'freeclimb', '~> 1.0.0'
+
+### Install from Git
+
+If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:
+
+ gem 'freeclimb', :git => 'https://github.com/GIT_USER_ID/GIT_REPO_ID.git'
+
+### Include the Ruby code directly
+
+Include the Ruby code directly using `-I` as follows:
+
+```shell
+ruby -Ilib script.rb
+```
+
+## Getting Started
+
+Please follow the [installation](#installation) procedure and then run the following code:
+
+```ruby
+# Load the gem
+require 'freeclimb'
+
+# Setup authorization
+Freeclimb.configure do |config|
+ # Configure HTTP basic authorization: fc
+ config.username = 'ACCOUNT_ID'
+ config.password = 'AUTH_TOKEN'
+end
+
+api_instance = Freeclimb::DefaultApi.new
+opts = {
+ buy_incoming_number_request: Freeclimb::BuyIncomingNumberRequest.new # BuyIncomingNumberRequest | Incoming Number transaction details
+}
+
+begin
+ #Buy a Phone Number
+ result = api_instance.buy_a_phone_number(opts)
+ p result
+rescue Freeclimb::ApiError => e
+ puts "Exception when calling DefaultApi->buy_a_phone_number: #{e}"
+end
+
+```
+
+## Documentation for API Endpoints
+
+All URIs are relative to *https://www.freeclimb.com/apiserver*
+
+Class | Method | HTTP request | Description
+------------ | ------------- | ------------- | -------------
+*Freeclimb::DefaultApi* | [**buy_a_phone_number**](docs/DefaultApi.md#buy_a_phone_number) | **POST** /Accounts/{accountId}/IncomingPhoneNumbers | Buy a Phone Number
+*Freeclimb::DefaultApi* | [**create_a_conference**](docs/DefaultApi.md#create_a_conference) | **POST** /Accounts/{accountId}/Conferences | Create a Conference
+*Freeclimb::DefaultApi* | [**create_a_queue**](docs/DefaultApi.md#create_a_queue) | **POST** /Accounts/{accountId}/Queues | Create a Queue
+*Freeclimb::DefaultApi* | [**create_an_application**](docs/DefaultApi.md#create_an_application) | **POST** /Accounts/{accountId}/Applications | Create an application
+*Freeclimb::DefaultApi* | [**delete_a_recording**](docs/DefaultApi.md#delete_a_recording) | **DELETE** /Accounts/{accountId}/Recordings/{recordingId} | Delete a Recording
+*Freeclimb::DefaultApi* | [**delete_an_application**](docs/DefaultApi.md#delete_an_application) | **DELETE** /Accounts/{accountId}/Applications/{applicationId} | Delete an application
+*Freeclimb::DefaultApi* | [**delete_an_incoming_number**](docs/DefaultApi.md#delete_an_incoming_number) | **DELETE** /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Delete an Incoming Number
+*Freeclimb::DefaultApi* | [**dequeue_a_member**](docs/DefaultApi.md#dequeue_a_member) | **POST** /Accounts/{accountId}/Queues/{queueId}/Members/{callId} | Dequeue a Member
+*Freeclimb::DefaultApi* | [**dequeue_head_member**](docs/DefaultApi.md#dequeue_head_member) | **POST** /Accounts/{accountId}/Queues/{queueId}/Members/Front | Dequeue Head Member
+*Freeclimb::DefaultApi* | [**download_a_recording_file**](docs/DefaultApi.md#download_a_recording_file) | **GET** /Accounts/{accountId}/Recordings/{recordingId}/Download | Download a Recording File
+*Freeclimb::DefaultApi* | [**filter_logs**](docs/DefaultApi.md#filter_logs) | **POST** /Accounts/{accountId}/Logs | Filter Logs
+*Freeclimb::DefaultApi* | [**get_a_call**](docs/DefaultApi.md#get_a_call) | **GET** /Accounts/{accountId}/Calls/{callId} | Get a Call
+*Freeclimb::DefaultApi* | [**get_a_conference**](docs/DefaultApi.md#get_a_conference) | **GET** /Accounts/{accountId}/Conferences/{conferenceId} | Get a Conference
+*Freeclimb::DefaultApi* | [**get_a_member**](docs/DefaultApi.md#get_a_member) | **GET** /Accounts/{accountId}/Queues/{queueId}/Members/{callId} | Get a Member
+*Freeclimb::DefaultApi* | [**get_a_participant**](docs/DefaultApi.md#get_a_participant) | **GET** /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Get a Participant
+*Freeclimb::DefaultApi* | [**get_a_queue**](docs/DefaultApi.md#get_a_queue) | **GET** /Accounts/{accountId}/Queues/{queueId} | Get a Queue
+*Freeclimb::DefaultApi* | [**get_a_recording**](docs/DefaultApi.md#get_a_recording) | **GET** /Accounts/{accountId}/Recordings/{recordingId} | Get a Recording
+*Freeclimb::DefaultApi* | [**get_an_account**](docs/DefaultApi.md#get_an_account) | **GET** /Accounts/{accountId} | Get an Account
+*Freeclimb::DefaultApi* | [**get_an_application**](docs/DefaultApi.md#get_an_application) | **GET** /Accounts/{accountId}/Applications/{applicationId} | Get an Application
+*Freeclimb::DefaultApi* | [**get_an_incoming_number**](docs/DefaultApi.md#get_an_incoming_number) | **GET** /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Get an Incoming Number
+*Freeclimb::DefaultApi* | [**get_an_sms_message**](docs/DefaultApi.md#get_an_sms_message) | **GET** /Accounts/{accountId}/Messages/{messageId} | Get an SMS Message
+*Freeclimb::DefaultApi* | [**get_head_member**](docs/DefaultApi.md#get_head_member) | **GET** /Accounts/{accountId}/Queues/{queueId}/Members/Front | Get Head Member
+*Freeclimb::DefaultApi* | [**list_active_queues**](docs/DefaultApi.md#list_active_queues) | **GET** /Accounts/{accountId}/Queues | List Active Queues
+*Freeclimb::DefaultApi* | [**list_all_account_logs**](docs/DefaultApi.md#list_all_account_logs) | **GET** /Accounts/{accountId}/Logs | List All Account Logs
+*Freeclimb::DefaultApi* | [**list_an_application**](docs/DefaultApi.md#list_an_application) | **GET** /Accounts/{accountId}/Applications | List applications
+*Freeclimb::DefaultApi* | [**list_available_numbers**](docs/DefaultApi.md#list_available_numbers) | **GET** /AvailablePhoneNumbers | List available numbers
+*Freeclimb::DefaultApi* | [**list_call_logs**](docs/DefaultApi.md#list_call_logs) | **GET** /Accounts/{accountId}/Calls/{callId}/Logs | List Call Logs
+*Freeclimb::DefaultApi* | [**list_call_recordings**](docs/DefaultApi.md#list_call_recordings) | **GET** /Accounts/{accountId}/Calls/{callId}/Recordings | List Call Recordings
+*Freeclimb::DefaultApi* | [**list_calls**](docs/DefaultApi.md#list_calls) | **GET** /Accounts/{accountId}/Calls | List Calls
+*Freeclimb::DefaultApi* | [**list_conferences**](docs/DefaultApi.md#list_conferences) | **GET** /Accounts/{accountId}/Conferences | List Conferences
+*Freeclimb::DefaultApi* | [**list_incoming_numbers**](docs/DefaultApi.md#list_incoming_numbers) | **GET** /Accounts/{accountId}/IncomingPhoneNumbers | List Incoming Numbers
+*Freeclimb::DefaultApi* | [**list_members**](docs/DefaultApi.md#list_members) | **GET** /Accounts/{accountId}/Queues/{queueId}/Members | List Members
+*Freeclimb::DefaultApi* | [**list_participants**](docs/DefaultApi.md#list_participants) | **GET** /Accounts/{accountId}/Conferences/{conferenceId}/Participants | List Participants
+*Freeclimb::DefaultApi* | [**list_recordings**](docs/DefaultApi.md#list_recordings) | **GET** /Accounts/{accountId}/Recordings | List Recordings
+*Freeclimb::DefaultApi* | [**list_sms_messages**](docs/DefaultApi.md#list_sms_messages) | **GET** /Accounts/{accountId}/Messages | List SMS Messages
+*Freeclimb::DefaultApi* | [**make_a_call**](docs/DefaultApi.md#make_a_call) | **POST** /Accounts/{accountId}/Calls | Make a Call
+*Freeclimb::DefaultApi* | [**remove_a_participant**](docs/DefaultApi.md#remove_a_participant) | **DELETE** /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Remove a Participant
+*Freeclimb::DefaultApi* | [**send_an_sms_message**](docs/DefaultApi.md#send_an_sms_message) | **POST** /Accounts/{accountId}/Messages | Send an SMS Message
+*Freeclimb::DefaultApi* | [**stream_a_recording_file**](docs/DefaultApi.md#stream_a_recording_file) | **GET** /Accounts/{accountId}/Recordings/{recordingId}/Stream | Stream a Recording File
+*Freeclimb::DefaultApi* | [**update_a_conference**](docs/DefaultApi.md#update_a_conference) | **POST** /Accounts/{accountId}/Conferences/{conferenceId} | Update a Conference
+*Freeclimb::DefaultApi* | [**update_a_live_call**](docs/DefaultApi.md#update_a_live_call) | **POST** /Accounts/{accountId}/Calls/{callId} | Update a Live Call
+*Freeclimb::DefaultApi* | [**update_a_participant**](docs/DefaultApi.md#update_a_participant) | **POST** /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Update a Participant
+*Freeclimb::DefaultApi* | [**update_a_queue**](docs/DefaultApi.md#update_a_queue) | **POST** /Accounts/{accountId}/Queues/{queueId} | Update a Queue
+*Freeclimb::DefaultApi* | [**update_an_account**](docs/DefaultApi.md#update_an_account) | **POST** /Accounts/{accountId} | Manage an account
+*Freeclimb::DefaultApi* | [**update_an_application**](docs/DefaultApi.md#update_an_application) | **POST** /Accounts/{accountId}/Applications/{applicationId} | Update an application
+*Freeclimb::DefaultApi* | [**update_an_incoming_number**](docs/DefaultApi.md#update_an_incoming_number) | **POST** /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Update an Incoming Number
+
+## Documentation for PerCL Responses
+The Performance Command Language (PerCL) defines a set of instructions, written in JSON format, that express telephony actions to be performed in response to an event on the FreeClimb platform. FreeClimb communicates with the application server when events associated with the application occur, so the webserver can instruct FreeClimb how to handle such events using PerCL scripts.
+
+When creating a Percl object, required parameters must be used in the constructer while optional parameters must be set direclty on the given Percl object. Example:
+```ruby
+digits = '630'
+send_digits = Percl::SendDigits.new(digits)
+send_digits.pauseMs = '500'
+```
+
+Class | Description
+------------ | -------------
+[*Percl::OutDial*](percl.md#percl::outdial) | The `OutDial` command is used to call a phone number
+[*Percl::Hangup*](percl.md#percl::hangup) | The `Hangup` command terminates a Call
+[*Percl::Pause*](percl.md#percl::pause) | The `Pause` command halts execution of the current PerCL script for a specified number of millisecond
+[*Percl::Redirect*](percl.md#percl::redirect) | The `Redirect` command transfers control of a Call to the PerCL at a different URL
+[*Percl::SendDigits*](percl.md#percl::senddigits) | The `SendDigits` command plays DTMF tones on a live Call. This is useful for navigating through IVR menus or dialing extensions
+[*Percl::Reject*](percl.md#percl::reject) | The `Reject` command blocks an incoming Call.
+[*Percl::CreateConference*](percl.md#percl::createConference) | The `CreateConference` command does exactly what its name implies — it creates an unpopulated Conference (one without any Participants).
+[*Percl::TerminateConference*](percl.md#percl::terminateConference) | The `TerminateConference` command terminates an existing Conference.
+[*Percl::AddToConference*](percl.md#percl::addToConference) | The `AddToConference` command adds a Participant to a Conference.
+[*Percl::RemoveFromConference*](percl.md#percl::removeFromConference) | The `RemoveFromConference` command removes a Participant from a Conference but does not hang up.
+[*Percl::SetListen*](percl.md#percl::setListen) | The `SetListen` command enables or disables the listen privilege for a Conference Participant provided both calls are in the same conference.
+[*Percl::SetTalk*](percl.md#percl::setTalk) | The `SetTalk` command enables or disables the talk privilege for a Participant in a Conference provided both calls are in the same conference.
+[*Percl::Enqueue*](percl.md#percl::enqueue) | The `Enqueue` command adds the current Call to a call Queue.
+[*Percl::Dequeue*](percl.md#percl::dequeue) | The `Dequeue` command transfers control of a Call that is in a Queue so that the waiting caller exits the Queue.
+[*Percl::RecordUtterance*](percl.md#percl::recordUtterance) | The `RecordUtterance` command records the caller's voice and returns the URL of a file containing the audio recording.
+[*Percl::StartRecordCall*](percl.md#percl::startRecordCall) | The `StartRecordCall` command records the current call and returns the URL of a file containing the audio recording when recording completes.
+[*Percl::PlayEarlyMedia*](percl.md#percl::playEarlyMedia) | The `PlayEarlyMedia` command plays A media file before attempting to connect a call
+[*Percl::Play*](percl.md#percl::play) | the `Play` command plays an audio file back to the caller.
+[*Percl::Say*](percl.md#percl::say) | The `Say` command provides Text-To-Speech (TTS) support. It converts text to speech and then renders it in a female voice back to the caller.
+[*Percl::GetDigits*](percl.md#percl::getDigits) | The `GetDigits` command collects DTMF inputs from the caller.
+[*Percl::GetSpeech*](percl.md#percl::getSpeech) | The `GetSpeech` command enables the Caller to respond to the application using a supported language.
+[*Percl::Sms*](percl.md#percl::Sms) | The `Sms` command can be used to send an SMS message to a phone number during a phone call.
+
+## Documentation for Models
+
+ - [Freeclimb::AccountRequest](docs/AccountRequest.md)
+ - [Freeclimb::AccountResult](docs/AccountResult.md)
+ - [Freeclimb::AccountResultAllOf](docs/AccountResultAllOf.md)
+ - [Freeclimb::ApplicationList](docs/ApplicationList.md)
+ - [Freeclimb::ApplicationListAllOf](docs/ApplicationListAllOf.md)
+ - [Freeclimb::ApplicationRequest](docs/ApplicationRequest.md)
+ - [Freeclimb::ApplicationResult](docs/ApplicationResult.md)
+ - [Freeclimb::ApplicationResultAllOf](docs/ApplicationResultAllOf.md)
+ - [Freeclimb::AvailableNumber](docs/AvailableNumber.md)
+ - [Freeclimb::AvailableNumberList](docs/AvailableNumberList.md)
+ - [Freeclimb::AvailableNumberListAllOf](docs/AvailableNumberListAllOf.md)
+ - [Freeclimb::BuyIncomingNumberRequest](docs/BuyIncomingNumberRequest.md)
+ - [Freeclimb::CallList](docs/CallList.md)
+ - [Freeclimb::CallListAllOf](docs/CallListAllOf.md)
+ - [Freeclimb::CallResult](docs/CallResult.md)
+ - [Freeclimb::CallResultAllOf](docs/CallResultAllOf.md)
+ - [Freeclimb::ConferenceList](docs/ConferenceList.md)
+ - [Freeclimb::ConferenceListAllOf](docs/ConferenceListAllOf.md)
+ - [Freeclimb::ConferenceParticipantList](docs/ConferenceParticipantList.md)
+ - [Freeclimb::ConferenceParticipantListAllOf](docs/ConferenceParticipantListAllOf.md)
+ - [Freeclimb::ConferenceParticipantResult](docs/ConferenceParticipantResult.md)
+ - [Freeclimb::ConferenceParticipantResultAllOf](docs/ConferenceParticipantResultAllOf.md)
+ - [Freeclimb::ConferenceResult](docs/ConferenceResult.md)
+ - [Freeclimb::ConferenceResultAllOf](docs/ConferenceResultAllOf.md)
+ - [Freeclimb::CreateConferenceRequest](docs/CreateConferenceRequest.md)
+ - [Freeclimb::DequeueMemberRequest](docs/DequeueMemberRequest.md)
+ - [Freeclimb::FilterLogsRequest](docs/FilterLogsRequest.md)
+ - [Freeclimb::IncomingNumberList](docs/IncomingNumberList.md)
+ - [Freeclimb::IncomingNumberListAllOf](docs/IncomingNumberListAllOf.md)
+ - [Freeclimb::IncomingNumberRequest](docs/IncomingNumberRequest.md)
+ - [Freeclimb::IncomingNumberResult](docs/IncomingNumberResult.md)
+ - [Freeclimb::IncomingNumberResultAllOf](docs/IncomingNumberResultAllOf.md)
+ - [Freeclimb::LogList](docs/LogList.md)
+ - [Freeclimb::LogListAllOf](docs/LogListAllOf.md)
+ - [Freeclimb::LogResult](docs/LogResult.md)
+ - [Freeclimb::MakeCallRequest](docs/MakeCallRequest.md)
+ - [Freeclimb::MessageRequest](docs/MessageRequest.md)
+ - [Freeclimb::MessageRequestAllOf](docs/MessageRequestAllOf.md)
+ - [Freeclimb::MessageResult](docs/MessageResult.md)
+ - [Freeclimb::MessageResultAllOf](docs/MessageResultAllOf.md)
+ - [Freeclimb::MessagesList](docs/MessagesList.md)
+ - [Freeclimb::MessagesListAllOf](docs/MessagesListAllOf.md)
+ - [Freeclimb::MutableResourceModel](docs/MutableResourceModel.md)
+ - [Freeclimb::PaginationModel](docs/PaginationModel.md)
+ - [Freeclimb::QueueList](docs/QueueList.md)
+ - [Freeclimb::QueueListAllOf](docs/QueueListAllOf.md)
+ - [Freeclimb::QueueMember](docs/QueueMember.md)
+ - [Freeclimb::QueueMemberList](docs/QueueMemberList.md)
+ - [Freeclimb::QueueMemberListAllOf](docs/QueueMemberListAllOf.md)
+ - [Freeclimb::QueueRequest](docs/QueueRequest.md)
+ - [Freeclimb::QueueResult](docs/QueueResult.md)
+ - [Freeclimb::QueueResultAllOf](docs/QueueResultAllOf.md)
+ - [Freeclimb::RecordingList](docs/RecordingList.md)
+ - [Freeclimb::RecordingListAllOf](docs/RecordingListAllOf.md)
+ - [Freeclimb::RecordingResult](docs/RecordingResult.md)
+ - [Freeclimb::RecordingResultAllOf](docs/RecordingResultAllOf.md)
+ - [Freeclimb::UpdateCallRequest](docs/UpdateCallRequest.md)
+ - [Freeclimb::UpdateConferenceParticipantRequest](docs/UpdateConferenceParticipantRequest.md)
+ - [Freeclimb::UpdateConferenceRequest](docs/UpdateConferenceRequest.md)
+
+
+## Documentation for Authorization
+
+
+### fc
+
+- **Type**: HTTP basic authentication
+
diff --git a/rubydocs/models.html b/rubydocs/models.html
new file mode 100644
index 0000000..0452707
--- /dev/null
+++ b/rubydocs/models.html
@@ -0,0 +1 @@
+ Models - FreeClimb Ruby SDKModels | FreeClimb Ruby SDK