diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index f3d589ac..2b0b0aee 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -16,6 +16,8 @@ docs/ApplicationResult.md docs/AvailableNumber.md docs/AvailableNumberList.md docs/BargeInReason.md +docs/BlobListResponse.md +docs/BlobResult.md docs/BuyIncomingNumberRequest.md docs/CallControlWebhook.md docs/CallDirection.md @@ -35,6 +37,7 @@ docs/ConferenceRecordingStatusWebhook.md docs/ConferenceResult.md docs/ConferenceStatus.md docs/ConferenceStatusWebhook.md +docs/CreateBlobRequest.md docs/CreateConference.md docs/CreateConferenceRequest.md docs/CreateConferenceWebhook.md @@ -81,6 +84,7 @@ docs/MessageResult.md docs/MessageStatus.md docs/MessageStatusWebhook.md docs/MessagesList.md +docs/ModifyBlobRequest.md docs/MutableResourceModel.md docs/OutDial.md docs/OutDialApiConnectWebhook.md @@ -91,6 +95,7 @@ docs/Park.md docs/Pause.md docs/PerclCommand.md docs/PerclScript.md +docs/PlatformError.md docs/Play.md docs/PlayBeep.md docs/PlayEarlyMedia.md @@ -111,6 +116,7 @@ docs/RedirectWebhook.md docs/Reject.md docs/RemoveFromConference.md docs/RemoveFromQueueNotificationWebhook.md +docs/ReplaceBlobRequest.md docs/RequestType.md docs/SMSTenDLCBrand.md docs/SMSTenDLCBrandAltBusinessIdType.md @@ -138,6 +144,8 @@ docs/Sms.md docs/StartRecordCall.md docs/TFN.md docs/TFNCampaign.md +docs/TTSEngine.md +docs/TTSEngineName.md docs/TerminateConference.md docs/TranscribeReason.md docs/TranscribeTermReason.md @@ -168,6 +176,8 @@ src/freeclimb.Test/Model/ApplicationResultTests.cs src/freeclimb.Test/Model/AvailableNumberListTests.cs src/freeclimb.Test/Model/AvailableNumberTests.cs src/freeclimb.Test/Model/BargeInReasonTests.cs +src/freeclimb.Test/Model/BlobListResponseTests.cs +src/freeclimb.Test/Model/BlobResultTests.cs src/freeclimb.Test/Model/BuyIncomingNumberRequestTests.cs src/freeclimb.Test/Model/CallControlWebhookTests.cs src/freeclimb.Test/Model/CallDirectionTests.cs @@ -187,6 +197,7 @@ src/freeclimb.Test/Model/ConferenceRecordingStatusWebhookTests.cs src/freeclimb.Test/Model/ConferenceResultTests.cs src/freeclimb.Test/Model/ConferenceStatusTests.cs src/freeclimb.Test/Model/ConferenceStatusWebhookTests.cs +src/freeclimb.Test/Model/CreateBlobRequestTests.cs src/freeclimb.Test/Model/CreateConferenceRequestTests.cs src/freeclimb.Test/Model/CreateConferenceTests.cs src/freeclimb.Test/Model/CreateConferenceWebhookTests.cs @@ -232,6 +243,7 @@ src/freeclimb.Test/Model/MessageResultTests.cs src/freeclimb.Test/Model/MessageStatusTests.cs src/freeclimb.Test/Model/MessageStatusWebhookTests.cs src/freeclimb.Test/Model/MessagesListTests.cs +src/freeclimb.Test/Model/ModifyBlobRequestTests.cs src/freeclimb.Test/Model/MutableResourceModelTests.cs src/freeclimb.Test/Model/OutDialApiConnectWebhookTests.cs src/freeclimb.Test/Model/OutDialConnectWebhookTests.cs @@ -242,6 +254,7 @@ src/freeclimb.Test/Model/ParkTests.cs src/freeclimb.Test/Model/PauseTests.cs src/freeclimb.Test/Model/PerclCommandTests.cs src/freeclimb.Test/Model/PerclScriptTests.cs +src/freeclimb.Test/Model/PlatformErrorTests.cs src/freeclimb.Test/Model/PlayBeepTests.cs src/freeclimb.Test/Model/PlayEarlyMediaTests.cs src/freeclimb.Test/Model/PlayTests.cs @@ -262,6 +275,7 @@ src/freeclimb.Test/Model/RedirectWebhookTests.cs src/freeclimb.Test/Model/RejectTests.cs src/freeclimb.Test/Model/RemoveFromConferenceTests.cs src/freeclimb.Test/Model/RemoveFromQueueNotificationWebhookTests.cs +src/freeclimb.Test/Model/ReplaceBlobRequestTests.cs src/freeclimb.Test/Model/RequestTypeTests.cs src/freeclimb.Test/Model/SMSTenDLCBrandAltBusinessIdTypeTests.cs src/freeclimb.Test/Model/SMSTenDLCBrandEntityTypeTests.cs @@ -289,6 +303,8 @@ src/freeclimb.Test/Model/SmsTests.cs src/freeclimb.Test/Model/StartRecordCallTests.cs src/freeclimb.Test/Model/TFNCampaignTests.cs src/freeclimb.Test/Model/TFNTests.cs +src/freeclimb.Test/Model/TTSEngineNameTests.cs +src/freeclimb.Test/Model/TTSEngineTests.cs src/freeclimb.Test/Model/TerminateConferenceTests.cs src/freeclimb.Test/Model/TranscribeReasonTests.cs src/freeclimb.Test/Model/TranscribeTermReasonTests.cs @@ -334,6 +350,8 @@ src/freeclimb/Model/ApplicationResult.cs src/freeclimb/Model/AvailableNumber.cs src/freeclimb/Model/AvailableNumberList.cs src/freeclimb/Model/BargeInReason.cs +src/freeclimb/Model/BlobListResponse.cs +src/freeclimb/Model/BlobResult.cs src/freeclimb/Model/BuyIncomingNumberRequest.cs src/freeclimb/Model/CallControlWebhook.cs src/freeclimb/Model/CallDirection.cs @@ -353,6 +371,7 @@ src/freeclimb/Model/ConferenceRecordingStatusWebhook.cs src/freeclimb/Model/ConferenceResult.cs src/freeclimb/Model/ConferenceStatus.cs src/freeclimb/Model/ConferenceStatusWebhook.cs +src/freeclimb/Model/CreateBlobRequest.cs src/freeclimb/Model/CreateConference.cs src/freeclimb/Model/CreateConferenceRequest.cs src/freeclimb/Model/CreateConferenceWebhook.cs @@ -398,6 +417,7 @@ src/freeclimb/Model/MessageResult.cs src/freeclimb/Model/MessageStatus.cs src/freeclimb/Model/MessageStatusWebhook.cs src/freeclimb/Model/MessagesList.cs +src/freeclimb/Model/ModifyBlobRequest.cs src/freeclimb/Model/MutableResourceModel.cs src/freeclimb/Model/OutDial.cs src/freeclimb/Model/OutDialApiConnectWebhook.cs @@ -408,6 +428,7 @@ src/freeclimb/Model/Park.cs src/freeclimb/Model/Pause.cs src/freeclimb/Model/PerclCommand.cs src/freeclimb/Model/PerclScript.cs +src/freeclimb/Model/PlatformError.cs src/freeclimb/Model/Play.cs src/freeclimb/Model/PlayBeep.cs src/freeclimb/Model/PlayEarlyMedia.cs @@ -428,6 +449,7 @@ src/freeclimb/Model/RedirectWebhook.cs src/freeclimb/Model/Reject.cs src/freeclimb/Model/RemoveFromConference.cs src/freeclimb/Model/RemoveFromQueueNotificationWebhook.cs +src/freeclimb/Model/ReplaceBlobRequest.cs src/freeclimb/Model/RequestType.cs src/freeclimb/Model/SMSTenDLCBrand.cs src/freeclimb/Model/SMSTenDLCBrandAltBusinessIdType.cs @@ -455,6 +477,8 @@ src/freeclimb/Model/Sms.cs src/freeclimb/Model/StartRecordCall.cs src/freeclimb/Model/TFN.cs src/freeclimb/Model/TFNCampaign.cs +src/freeclimb/Model/TTSEngine.cs +src/freeclimb/Model/TTSEngineName.cs src/freeclimb/Model/TerminateConference.cs src/freeclimb/Model/TranscribeReason.cs src/freeclimb/Model/TranscribeTermReason.cs diff --git a/CHANGELOG.md b/CHANGELOG.md index b6da521a..cccf1c12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,19 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm None + + +## [5.3.0] - 2025-10-21 + +### Added + +- Add models for new TTS models and engine setup +- Add models and default api methods for Blob API + +### Removed + +- Deprecated query params when searching incoming phone numbers + ## [5.2.0] - 2025-09-24 diff --git a/README.md b/README.md index 205b0f29..4f484cc0 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ FreeClimb is a cloud-based application programming interface (API) that puts the This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 1.0.0 -- SDK version: 5.2.0 +- SDK version: 5.3.0 - Generator version: 7.9.0 - Build package: org.openapitools.codegen.languages.CSharpClientCodegen For more information, please visit [https://www.freeclimb.com/support/](https://www.freeclimb.com/support/) @@ -125,12 +125,14 @@ Class | Method | HTTP request | Description *DefaultApi* | [**CreateAConference**](docs/DefaultApi.md#createaconference) | **POST** /Accounts/{accountId}/Conferences | Create a Conference *DefaultApi* | [**CreateAQueue**](docs/DefaultApi.md#createaqueue) | **POST** /Accounts/{accountId}/Queues | Create a Queue *DefaultApi* | [**CreateAnApplication**](docs/DefaultApi.md#createanapplication) | **POST** /Accounts/{accountId}/Applications | Create an application +*DefaultApi* | [**CreateBlob**](docs/DefaultApi.md#createblob) | **POST** /Accounts/{accountId}/Blobs | Create a Blob *DefaultApi* | [**CreateExport**](docs/DefaultApi.md#createexport) | **POST** /Accounts/{accountId}/Exports | Create an Export *DefaultApi* | [**CreateKnowledgeBaseCompletion**](docs/DefaultApi.md#createknowledgebasecompletion) | **POST** /Accounts/{accountId}/KnowledgeBases/{knowledgeBaseId}/Completion | Query the knowledge base *DefaultApi* | [**DeleteARecording**](docs/DefaultApi.md#deletearecording) | **DELETE** /Accounts/{accountId}/Recordings/{recordingId} | Delete a Recording *DefaultApi* | [**DeleteAnApplication**](docs/DefaultApi.md#deleteanapplication) | **DELETE** /Accounts/{accountId}/Applications/{applicationId} | Delete an application *DefaultApi* | [**DeleteAnExport**](docs/DefaultApi.md#deleteanexport) | **DELETE** /Accounts/{accountId}/Exports/{exportId} | Delete an Export *DefaultApi* | [**DeleteAnIncomingNumber**](docs/DefaultApi.md#deleteanincomingnumber) | **DELETE** /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Delete an Incoming Number +*DefaultApi* | [**DeleteBlob**](docs/DefaultApi.md#deleteblob) | **DELETE** /Accounts/{accountId}/Blobs/{blobId} | Delete Blob *DefaultApi* | [**DequeueAMember**](docs/DefaultApi.md#dequeueamember) | **POST** /Accounts/{accountId}/Queues/{queueId}/Members/{callId} | Dequeue a Member *DefaultApi* | [**DequeueHeadMember**](docs/DefaultApi.md#dequeueheadmember) | **POST** /Accounts/{accountId}/Queues/{queueId}/Members/Front | Dequeue Head Member *DefaultApi* | [**DownloadARecordingFile**](docs/DefaultApi.md#downloadarecordingfile) | **GET** /Accounts/{accountId}/Recordings/{recordingId}/Download | Download a Recording File @@ -147,6 +149,7 @@ Class | Method | HTTP request | Description *DefaultApi* | [**GetAnExport**](docs/DefaultApi.md#getanexport) | **GET** /Accounts/{accountId}/Exports/{exportId} | Get an Export *DefaultApi* | [**GetAnIncomingNumber**](docs/DefaultApi.md#getanincomingnumber) | **GET** /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Get an Incoming Number *DefaultApi* | [**GetAnSmsMessage**](docs/DefaultApi.md#getansmsmessage) | **GET** /Accounts/{accountId}/Messages/{messageId} | Get an SMS Message +*DefaultApi* | [**GetBlob**](docs/DefaultApi.md#getblob) | **GET** /Accounts/{accountId}/Blobs/{blobId} | Get Blob *DefaultApi* | [**GetHeadMember**](docs/DefaultApi.md#getheadmember) | **GET** /Accounts/{accountId}/Queues/{queueId}/Members/Front | Get Head Member *DefaultApi* | [**GetTenDLCSmsBrand**](docs/DefaultApi.md#gettendlcsmsbrand) | **GET** /Accounts/{accountId}/Messages/10DLC/Brands/{brandId} | Get a 10DLC SMS Brand *DefaultApi* | [**GetTenDLCSmsBrands**](docs/DefaultApi.md#gettendlcsmsbrands) | **GET** /Accounts/{accountId}/Messages/10DLC/Brands | Get list of SMS 10DLC Brands @@ -160,6 +163,7 @@ Class | Method | HTTP request | Description *DefaultApi* | [**ListAllAccountLogs**](docs/DefaultApi.md#listallaccountlogs) | **GET** /Accounts/{accountId}/Logs | List All Account Logs *DefaultApi* | [**ListApplications**](docs/DefaultApi.md#listapplications) | **GET** /Accounts/{accountId}/Applications | List applications *DefaultApi* | [**ListAvailableNumbers**](docs/DefaultApi.md#listavailablenumbers) | **GET** /AvailablePhoneNumbers | List available numbers +*DefaultApi* | [**ListBlobs**](docs/DefaultApi.md#listblobs) | **GET** /Accounts/{accountId}/Blobs | List Blobs belonging to an account. *DefaultApi* | [**ListCallLogs**](docs/DefaultApi.md#listcalllogs) | **GET** /Accounts/{accountId}/Calls/{callId}/Logs | List Call Logs *DefaultApi* | [**ListCallRecordings**](docs/DefaultApi.md#listcallrecordings) | **GET** /Accounts/{accountId}/Calls/{callId}/Recordings | List Call Recordings *DefaultApi* | [**ListCalls**](docs/DefaultApi.md#listcalls) | **GET** /Accounts/{accountId}/Calls | List Calls @@ -173,7 +177,9 @@ Class | Method | HTTP request | Description *DefaultApi* | [**ListSmsMessages**](docs/DefaultApi.md#listsmsmessages) | **GET** /Accounts/{accountId}/Messages | List SMS Messages *DefaultApi* | [**MakeACall**](docs/DefaultApi.md#makeacall) | **POST** /Accounts/{accountId}/Calls | Make a Call *DefaultApi* | [**MakeAWebrtcJwt**](docs/DefaultApi.md#makeawebrtcjwt) | **POST** /Accounts/{accountId}/Calls/WebRTC/Token | Make a JWT for WebRTC calling +*DefaultApi* | [**ModifyBlob**](docs/DefaultApi.md#modifyblob) | **PATCH** /Accounts/{accountId}/Blobs/{blobId} | Modify Blob *DefaultApi* | [**RemoveAParticipant**](docs/DefaultApi.md#removeaparticipant) | **DELETE** /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Remove a Participant +*DefaultApi* | [**ReplaceBlob**](docs/DefaultApi.md#replaceblob) | **PUT** /Accounts/{accountId}/Blobs/{blobId} | Replace Blob *DefaultApi* | [**SendAnSmsMessage**](docs/DefaultApi.md#sendansmsmessage) | **POST** /Accounts/{accountId}/Messages | Send an SMS Message *DefaultApi* | [**StreamARecordingFile**](docs/DefaultApi.md#streamarecordingfile) | **GET** /Accounts/{accountId}/Recordings/{recordingId}/Stream | Stream a Recording File *DefaultApi* | [**UpdateAConference**](docs/DefaultApi.md#updateaconference) | **POST** /Accounts/{accountId}/Conferences/{conferenceId} | Update a Conference @@ -202,6 +208,8 @@ Class | Method | HTTP request | Description - [Model.AvailableNumber](docs/AvailableNumber.md) - [Model.AvailableNumberList](docs/AvailableNumberList.md) - [Model.BargeInReason](docs/BargeInReason.md) + - [Model.BlobListResponse](docs/BlobListResponse.md) + - [Model.BlobResult](docs/BlobResult.md) - [Model.BuyIncomingNumberRequest](docs/BuyIncomingNumberRequest.md) - [Model.CallControlWebhook](docs/CallControlWebhook.md) - [Model.CallDirection](docs/CallDirection.md) @@ -221,6 +229,7 @@ Class | Method | HTTP request | Description - [Model.ConferenceResult](docs/ConferenceResult.md) - [Model.ConferenceStatus](docs/ConferenceStatus.md) - [Model.ConferenceStatusWebhook](docs/ConferenceStatusWebhook.md) + - [Model.CreateBlobRequest](docs/CreateBlobRequest.md) - [Model.CreateConference](docs/CreateConference.md) - [Model.CreateConferenceRequest](docs/CreateConferenceRequest.md) - [Model.CreateConferenceWebhook](docs/CreateConferenceWebhook.md) @@ -266,6 +275,7 @@ Class | Method | HTTP request | Description - [Model.MessageStatus](docs/MessageStatus.md) - [Model.MessageStatusWebhook](docs/MessageStatusWebhook.md) - [Model.MessagesList](docs/MessagesList.md) + - [Model.ModifyBlobRequest](docs/ModifyBlobRequest.md) - [Model.MutableResourceModel](docs/MutableResourceModel.md) - [Model.OutDial](docs/OutDial.md) - [Model.OutDialApiConnectWebhook](docs/OutDialApiConnectWebhook.md) @@ -276,6 +286,7 @@ Class | Method | HTTP request | Description - [Model.Pause](docs/Pause.md) - [Model.PerclCommand](docs/PerclCommand.md) - [Model.PerclScript](docs/PerclScript.md) + - [Model.PlatformError](docs/PlatformError.md) - [Model.Play](docs/Play.md) - [Model.PlayBeep](docs/PlayBeep.md) - [Model.PlayEarlyMedia](docs/PlayEarlyMedia.md) @@ -296,6 +307,7 @@ Class | Method | HTTP request | Description - [Model.Reject](docs/Reject.md) - [Model.RemoveFromConference](docs/RemoveFromConference.md) - [Model.RemoveFromQueueNotificationWebhook](docs/RemoveFromQueueNotificationWebhook.md) + - [Model.ReplaceBlobRequest](docs/ReplaceBlobRequest.md) - [Model.RequestType](docs/RequestType.md) - [Model.SMSTenDLCBrand](docs/SMSTenDLCBrand.md) - [Model.SMSTenDLCBrandAltBusinessIdType](docs/SMSTenDLCBrandAltBusinessIdType.md) @@ -323,6 +335,8 @@ Class | Method | HTTP request | Description - [Model.StartRecordCall](docs/StartRecordCall.md) - [Model.TFN](docs/TFN.md) - [Model.TFNCampaign](docs/TFNCampaign.md) + - [Model.TTSEngine](docs/TTSEngine.md) + - [Model.TTSEngineName](docs/TTSEngineName.md) - [Model.TerminateConference](docs/TerminateConference.md) - [Model.TranscribeReason](docs/TranscribeReason.md) - [Model.TranscribeTermReason](docs/TranscribeTermReason.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index bcc0aad1..66d26976 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -31,6 +31,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -42,7 +44,6 @@ paths: $ref: '#/components/schemas/AccountResult' description: Account Details summary: Get an Account - tags: [] post: operationId: update-an-account parameters: @@ -52,6 +53,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -65,7 +68,6 @@ paths: "204": description: Successful Account update summary: Manage an account - tags: [] /Accounts/{accountId}/Applications/{applicationId}: delete: deprecated: false @@ -77,6 +79,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -92,7 +96,6 @@ paths: "204": description: Successful application deletion summary: Delete an application - tags: [] get: deprecated: false operationId: get-an-application @@ -103,6 +106,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -122,7 +127,6 @@ paths: $ref: '#/components/schemas/ApplicationResult' description: Application Details summary: Get an Application - tags: [] post: deprecated: false operationId: update-an-application @@ -133,6 +137,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -158,7 +164,6 @@ paths: $ref: '#/components/schemas/ApplicationResult' description: Update Application summary: Update an application - tags: [] /Accounts/{accountId}/Applications: get: deprecated: false @@ -179,6 +184,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -190,7 +197,6 @@ paths: $ref: '#/components/schemas/ApplicationList' description: List of Applications summary: List applications - tags: [] x-is-paginated: true post: deprecated: false @@ -202,6 +208,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -219,7 +227,6 @@ paths: $ref: '#/components/schemas/ApplicationResult' description: Application successfuly created summary: Create an application - tags: [] /AvailablePhoneNumbers: get: deprecated: false @@ -318,7 +325,6 @@ paths: $ref: '#/components/schemas/AvailableNumberList' description: Available Numbers List summary: List available numbers - tags: [] x-is-paginated: true /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId}: delete: @@ -331,6 +337,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -346,7 +354,6 @@ paths: "204": description: Successful Incoming Number deletion. summary: Delete an Incoming Number - tags: [] get: deprecated: false operationId: get-an-incoming-number @@ -357,6 +364,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -376,7 +385,6 @@ paths: $ref: '#/components/schemas/IncomingNumberResult' description: Incoming Phone Number result. summary: Get an Incoming Number - tags: [] post: deprecated: false operationId: update-an-incoming-number @@ -387,6 +395,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -412,7 +422,6 @@ paths: $ref: '#/components/schemas/IncomingNumberResult' description: Updated Incoming Phone Number summary: Update an Incoming Number - tags: [] /Accounts/{accountId}/IncomingPhoneNumbers: get: deprecated: false @@ -424,6 +433,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -481,28 +492,6 @@ paths: default: false type: boolean style: form - - deprecated: true - description: Indicates whether the phone number can handle Calls. Typically - set to true for all numbers. - explode: true - in: query - name: voiceEnabled - required: false - schema: - default: true - type: boolean - style: form - - deprecated: true - description: Indication of whether the phone number can handle sending and - receiving SMS messages. Typically set to true for all numbers. - explode: true - in: query - name: smsEnabled - required: false - schema: - default: true - type: boolean - style: form - description: Indication of whether the phone number has a campaign associated with it explode: true @@ -579,7 +568,6 @@ paths: $ref: '#/components/schemas/IncomingNumberList' description: List of Incoming Phone Numbers summary: List Incoming Numbers - tags: [] x-is-paginated: true post: deprecated: false @@ -591,6 +579,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -609,7 +599,6 @@ paths: $ref: '#/components/schemas/IncomingNumberResult' description: Successful Incoming Number transaction summary: Buy a Phone Number - tags: [] /Accounts/{accountId}/KnowledgeBases/{knowledgeBaseId}/Completion: post: deprecated: false @@ -621,6 +610,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -646,7 +637,6 @@ paths: $ref: '#/components/schemas/CompletionResult' description: KnowledgeaBase completion response summary: Query the knowledge base - tags: [] /Accounts/{accountId}/Calls/{callId}: get: deprecated: false @@ -658,6 +648,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -677,7 +669,6 @@ paths: $ref: '#/components/schemas/CallResult' description: Call Resource summary: Get a Call - tags: [] post: deprecated: false operationId: update-a-live-call @@ -688,6 +679,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -710,7 +703,6 @@ paths: "202": description: Successfully queued call summary: Update a Live Call - tags: [] /Accounts/{accountId}/Calls: get: deprecated: false @@ -796,6 +788,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -823,7 +817,6 @@ paths: $ref: '#/components/schemas/CallList' description: Successful retrieved call list summary: List Calls - tags: [] x-is-paginated: true post: deprecated: false @@ -835,6 +828,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -852,7 +847,6 @@ paths: $ref: '#/components/schemas/CallResult' description: Call that was created summary: Make a Call - tags: [] /Accounts/{accountId}/Calls/{callId}/Recordings: get: deprecated: false @@ -873,6 +867,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -892,7 +888,6 @@ paths: $ref: '#/components/schemas/RecordingList' description: List of recordings for a call summary: List Call Recordings - tags: [] x-is-paginated: true /Accounts/{accountId}/Calls/{callId}/Logs: get: @@ -905,6 +900,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -924,7 +921,6 @@ paths: $ref: '#/components/schemas/LogList' description: Logs for this call summary: List Call Logs - tags: [] x-is-paginated: true /Accounts/{accountId}/Calls/WebRTC/Token: post: @@ -936,6 +932,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1002,6 +1000,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1013,7 +1013,6 @@ paths: $ref: '#/components/schemas/ConferenceList' description: List of Conferences summary: List Conferences - tags: [] x-is-paginated: true post: deprecated: false @@ -1025,6 +1024,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1042,7 +1043,6 @@ paths: $ref: '#/components/schemas/ConferenceResult' description: Details of created conference summary: Create a Conference - tags: [] /Accounts/{accountId}/Conferences/{conferenceId}: get: deprecated: false @@ -1054,6 +1054,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1073,7 +1075,6 @@ paths: $ref: '#/components/schemas/ConferenceResult' description: Successfully retrieved conference summary: Get a Conference - tags: [] post: deprecated: false operationId: update-a-conference @@ -1084,6 +1085,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1105,7 +1108,6 @@ paths: "204": description: Successful conference details update summary: Update a Conference - tags: [] /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId}: delete: deprecated: false @@ -1117,6 +1119,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1140,7 +1144,6 @@ paths: "204": description: Successfully deleted conference participant summary: Remove a Participant - tags: [] get: deprecated: false operationId: get-a-participant @@ -1151,6 +1154,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1178,7 +1183,6 @@ paths: $ref: '#/components/schemas/ConferenceParticipantResult' description: Successfully retrieved conference participant summary: Get a Participant - tags: [] post: deprecated: false operationId: update-a-participant @@ -1189,6 +1193,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1222,7 +1228,6 @@ paths: $ref: '#/components/schemas/ConferenceParticipantResult' description: Successfully retrieved conference participant summary: Update a Participant - tags: [] /Accounts/{accountId}/Conferences/{conferenceId}/Participants: get: deprecated: false @@ -1258,6 +1263,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1277,7 +1284,6 @@ paths: $ref: '#/components/schemas/ConferenceParticipantList' description: Successfully retrieved conference participant list summary: List Participants - tags: [] x-is-paginated: true /Accounts/{accountId}/Conferences/{conferenceId}/Recordings: get: @@ -1306,6 +1312,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1325,7 +1333,6 @@ paths: $ref: '#/components/schemas/RecordingList' description: List of Recordings summary: List Conference Recordings - tags: [] x-is-paginated: true /Accounts/{accountId}/Queues/{queueId}: get: @@ -1338,6 +1345,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1357,7 +1366,6 @@ paths: $ref: '#/components/schemas/QueueResult' description: Successfully retrieved queue summary: Get a Queue - tags: [] post: deprecated: false operationId: update-a-queue @@ -1368,6 +1376,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1393,7 +1403,6 @@ paths: $ref: '#/components/schemas/QueueResult' description: Successfully updated queue summary: Update a Queue - tags: [] /Accounts/{accountId}/Queues: get: deprecated: false @@ -1414,6 +1423,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1425,7 +1436,6 @@ paths: $ref: '#/components/schemas/QueueList' description: Successfuly retrieved queue list summary: List Active Queues - tags: [] x-is-paginated: true post: deprecated: false @@ -1437,6 +1447,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1454,7 +1466,6 @@ paths: $ref: '#/components/schemas/QueueResult' description: Successfuly created queue summary: Create a Queue - tags: [] /Accounts/{accountId}/Queues/{queueId}/Members/Front: get: deprecated: false @@ -1466,6 +1477,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1486,7 +1499,6 @@ paths: $ref: '#/components/schemas/QueueMember' description: Successfully retrieved queue member summary: Get Head Member - tags: [] post: deprecated: false operationId: dequeue-head-member @@ -1497,6 +1509,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1516,7 +1530,6 @@ paths: $ref: '#/components/schemas/QueueMember' description: Accepted dequeue request summary: Dequeue Head Member - tags: [] /Accounts/{accountId}/Queues/{queueId}/Members: get: deprecated: false @@ -1528,6 +1541,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1548,7 +1563,6 @@ paths: $ref: '#/components/schemas/QueueMemberList' description: Successfully retrieved queue member list summary: List Members - tags: [] x-is-paginated: true /Accounts/{accountId}/Queues/{queueId}/Members/{callId}: get: @@ -1561,6 +1575,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1589,7 +1605,6 @@ paths: $ref: '#/components/schemas/QueueMember' description: Successfully retrieved a queue member summary: Get a Member - tags: [] post: deprecated: false operationId: dequeue-a-member @@ -1600,6 +1615,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1628,7 +1645,6 @@ paths: $ref: '#/components/schemas/QueueMember' description: Accepted dequeue request summary: Dequeue a Member - tags: [] /Accounts/{accountId}/Logs: get: deprecated: false @@ -1640,6 +1656,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1651,7 +1669,6 @@ paths: $ref: '#/components/schemas/LogList' description: Successfully retrieved log list summary: List All Account Logs - tags: [] x-is-paginated: true post: deprecated: false @@ -1663,6 +1680,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1681,7 +1700,6 @@ paths: $ref: '#/components/schemas/LogList' description: Successfully retrieved log list summary: Filter Logs - tags: [] x-is-paginated: true /Accounts/{accountId}/Recordings: get: @@ -1718,6 +1736,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1729,7 +1749,6 @@ paths: $ref: '#/components/schemas/RecordingList' description: List of Recordings summary: List Recordings - tags: [] x-is-paginated: true /Accounts/{accountId}/Recordings/{recordingId}: delete: @@ -1742,6 +1761,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1757,7 +1778,6 @@ paths: "204": description: Recording Deleted summary: Delete a Recording - tags: [] get: deprecated: false operationId: get-a-recording @@ -1768,6 +1788,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1787,7 +1809,6 @@ paths: $ref: '#/components/schemas/RecordingResult' description: "" summary: Get a Recording - tags: [] /Accounts/{accountId}/Recordings/{recordingId}/Stream: get: deprecated: false @@ -1799,6 +1820,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1813,13 +1836,12 @@ paths: responses: "200": content: - audio/x-wav: + audio/wav: schema: format: binary type: string - description: Streaming a Recording represented with audio/x-wav mime-type + description: Streaming a Recording represented with audio/wav mime-type summary: Stream a Recording File - tags: [] /Accounts/{accountId}/Recordings/{recordingId}/Download: get: deprecated: false @@ -1831,6 +1853,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1845,13 +1869,12 @@ paths: responses: "200": content: - audio/x-wav: + audio/wav: schema: format: binary type: string - description: Download a Recording file represented with audio/x-wav mime-type + description: Download a Recording file represented with audio/wav mime-type summary: Download a Recording File - tags: [] /Accounts/{accountId}/Messages: get: deprecated: false @@ -1863,6 +1886,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1941,7 +1966,6 @@ paths: $ref: '#/components/schemas/MessagesList' description: List of messages summary: List SMS Messages - tags: [] x-is-paginated: true post: deprecated: false @@ -1953,6 +1977,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -1971,7 +1997,6 @@ paths: $ref: '#/components/schemas/MessageResult' description: The message has been accepted. summary: Send an SMS Message - tags: [] /Accounts/{accountId}/Messages/{messageId}: get: deprecated: false @@ -1983,6 +2008,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2002,7 +2029,6 @@ paths: $ref: '#/components/schemas/MessageResult' description: The specific SMS message that’s been processed by FreeClimb summary: Get an SMS Message - tags: [] /Accounts/{accountId}/Messages/10DLC/Campaigns: get: deprecated: false @@ -2014,6 +2040,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2074,7 +2102,6 @@ paths: $ref: '#/components/schemas/SMSTenDLCCampaignsListResult' description: The list SMS 10DLC campaigns summary: Get list of SMS 10DLC Campaigns - tags: [] x-is-paginated: true /Accounts/{accountId}/Messages/10DLC/Campaigns/{campaignId}: get: @@ -2087,6 +2114,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2106,7 +2135,6 @@ paths: $ref: '#/components/schemas/SMSTenDLCCampaign' description: The specific SMS 10DLC Campaign that’s been processed by FreeClimb summary: Get a 10DLC SMS Campaign - tags: [] /Accounts/{accountId}/Messages/10DLC/PartnerCampaigns: get: deprecated: false @@ -2118,6 +2146,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2186,7 +2216,6 @@ paths: $ref: '#/components/schemas/SMSTenDLCPartnerCampaignsListResult' description: The list SMS 10DLC partner campaigns summary: Get list of SMS 10DLC Partner Campaigns - tags: [] x-is-paginated: true /Accounts/{accountId}/Messages/10DLC/PartnerCampaigns/{campaignId}: get: @@ -2199,6 +2228,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2219,7 +2250,6 @@ paths: description: The specific SMS 10DLC Partner Campaign that’s been processed by FreeClimb summary: Get a 10DLC SMS Partner Campaign - tags: [] /Accounts/{accountId}/Messages/10DLC/Brands: get: deprecated: false @@ -2231,6 +2261,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2280,7 +2312,6 @@ paths: $ref: '#/components/schemas/SMSTenDLCBrandsListResult' description: The list SMS 10DLC brands summary: Get list of SMS 10DLC Brands - tags: [] x-is-paginated: true /Accounts/{accountId}/Messages/10DLC/Brands/{brandId}: get: @@ -2293,6 +2324,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2312,7 +2345,6 @@ paths: $ref: '#/components/schemas/SMSTenDLCBrand' description: The specific SMS 10DLC Brand that’s been processed by FreeClimb summary: Get a 10DLC SMS Brand - tags: [] /Accounts/{accountId}/Messages/TollFree/Campaigns: get: deprecated: false @@ -2324,6 +2356,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2351,7 +2385,6 @@ paths: $ref: '#/components/schemas/SMSTollFreeCampaignsListResult' description: The list toll-free campaigns summary: Get list of TollFree Campaigns - tags: [] x-is-paginated: true /Accounts/{accountId}/Messages/TollFree/Campaigns/{campaignId}: get: @@ -2364,6 +2397,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2384,7 +2419,6 @@ paths: description: The specific SMS TollFree Campaign that’s been processed by FreeClimb summary: Get a TollFree SMS Campaign - tags: [] /Accounts/{accountId}/Exports: get: operationId: list-exports @@ -2395,6 +2429,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2422,7 +2458,6 @@ paths: $ref: '#/components/schemas/ExportList' description: Successful retrieved export list summary: List Exports - tags: [] x-is-paginated: true post: operationId: create-export @@ -2433,6 +2468,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2450,7 +2487,6 @@ paths: $ref: '#/components/schemas/ExportResult' description: Export successfully created summary: Create an Export - tags: [] /Accounts/{accountId}/Exports/{exportId}: delete: deprecated: false @@ -2462,6 +2498,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2477,7 +2515,6 @@ paths: "204": description: Successful Export deletion summary: Delete an Export - tags: [] get: deprecated: false operationId: get-an-export @@ -2488,6 +2525,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2507,7 +2546,6 @@ paths: $ref: '#/components/schemas/ExportResult' description: Export Details summary: Get an Export - tags: [] /Accounts/{accountId}/Exports/{exportId}/Download: get: deprecated: false @@ -2519,6 +2557,8 @@ paths: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2538,7 +2578,627 @@ paths: type: string description: Export Details summary: Download an Export - tags: [] + /Accounts/{accountId}/Blobs: + get: + description: List Blobs belonging to an account. Results are returned in paginated + lists mirroring other listing features in the API. + operationId: list-blobs + parameters: + - description: ID of the account + explode: false + in: path + name: accountId + required: true + schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" + type: string + style: simple + x-account-id: true + responses: + "200": + content: + application/json: + example: + total: 2 + start: 0 + end: 1 + page: 0 + numPages: 1 + pageSize: 100 + nextPageUri: null + blobs: + - blobId: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + accountId: AC3ff5d5aed7fde9e6659673d850cbd18ea8bfca78 + alias: my-blob-alias + revision: 1 + dateCreated: 2006-01-02T15:04:05.000Z + dateUpdated: 2006-01-02T15:04:05.000Z + expiresAt: 2006-01-02T15:04:05.000Z + blob: + field0: value0 + field1: 1 + field2: true + - blobId: BL487ec3f6e03b340553f35f29c8f118cdf3eae08b + accountId: AC3ff5d5aed7fde9e6659673d850cbd18ea8bfca78 + alias: another-blob + revision: 1 + dateCreated: 2006-01-02T16:04:05.000Z + dateUpdated: 2006-01-02T16:04:05.000Z + expiresAt: 2006-01-02T16:04:05.000Z + blob: + data: example + schema: + $ref: '#/components/schemas/BlobListResponse' + description: Single page of blob list results. + "400": + content: + application/json: + example: + code: 80 + call: Missing Required Parameter(s) + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#80 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform bad request. + "500": + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform internal error. + "504": + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: gateway timeout error + summary: List Blobs belonging to an account. + x-is-paginated: true + post: + description: Create a new Blob belonging to the requesting account. + operationId: create-blob + parameters: + - description: ID of the account + explode: false + in: path + name: accountId + required: true + schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" + type: string + style: simple + x-account-id: true + requestBody: + content: + application/json: + examples: + plain_empty_blob: + value: + blob: {} + setting_blob_content: + value: + blob: + key0: value0 + key1: 1 + key2: + keyA: true + keyB: + - 1 + - 1 + - 2 + - 3 + - 5 + - 8 + - 13 + - 21 + setting_alias_blob: + value: + alias: my_custom_blob_identifier + blob: + key: value + setting_expiresAt_blob: + value: + expiresAt: 2025-01-04T15:04:05.060Z + blob: + key: 45 + setting_everything_blob: + value: + alias: my_custom_blob_identifier + expiresAt: 2025-01-04T15:04:05.060Z + blob: + key0: value + key1: 45 + schema: + $ref: '#/components/schemas/CreateBlobRequest' + description: An object defining a new blob. A request body must be provided + but the blob may be empty. + required: true + responses: + "201": + content: + application/json: + examples: + plain_empty_blob: + value: + revision: 1 + dateCreated: 2025-01-02T15:04:05.000Z + dateUpdated: 2025-01-02T15:04:05.000Z + accountId: AC387ec3f6e03b340553f35f29c8f118cdf3eae08a + alias: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + blobId: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + expiresAt: 2025-01-03T00:04:05.000Z + blob: {} + setting_blob_content: + value: + revision: 1 + dateCreated: 2025-01-02T15:04:05.000Z + dateUpdated: 2025-01-02T15:04:05.000Z + accountId: AC387ec3f6e03b340553f35f29c8f118cdf3eae08a + alias: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + blobId: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + expiresAt: 2025-01-03T00:04:05.000Z + blob: + key0: value0 + key1: 1 + key2: + keyA: true + keyB: + - 1 + - 1 + - 2 + - 3 + - 5 + - 8 + - 13 + - 21 + setting_alias_blob: + value: + revision: 1 + dateCreated: 2025-01-02T15:04:05.000Z + dateUpdated: 2025-01-02T15:04:05.000Z + accountId: AC387ec3f6e03b340553f35f29c8f118cdf3eae08a + alias: my_custom_blob_identifier + blobId: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + expiresAt: 2025-01-03T00:04:05.000Z + blob: + key: value + setting_expiresAt_blob: + value: + revision: 1 + dateCreated: 2025-01-02T15:04:05.000Z + dateUpdated: 2025-01-02T15:04:05.000Z + accountId: AC387ec3f6e03b340553f35f29c8f118cdf3eae08a + alias: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + blobId: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + expiresAt: 2025-01-04T15:04:05.060Z + blob: + key: 45 + setting_everything_blob: + value: + revision: 1 + dateCreated: 2025-01-02T15:04:05.000Z + dateUpdated: 2025-01-02T15:04:05.000Z + accountId: AC387ec3f6e03b340553f35f29c8f118cdf3eae08a + blobId: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + alias: my_custom_blob_identifier + expiresAt: 2025-01-04T15:04:05.060Z + blob: + key0: value + key1: 45 + schema: + $ref: '#/components/schemas/BlobResult' + description: Successful creation of a new blob. + "400": + content: + application/json: + example: + code: 80 + call: Missing Required Parameter(s) + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#80 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform bad request. + "409": + content: + application/json: + example: + code: 108 + call: Request conflicts with another resource + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#108 + details: + explanation: alias already exists for another blob on this account + schema: + $ref: '#/components/schemas/PlatformError' + description: A blob with the provided alias already exists oln the requesting + account and so this new blob is rejected as there cannot be duplicate + alises. + "413": + content: + application/json: + example: + code: 80 + call: Missing Required Parameter(s) + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#80 + details: + explanation: blob exceeds per-blob size limit + schema: + $ref: '#/components/schemas/PlatformError' + description: The blob exceeded one of the size limits. Either it itself + is too large or it would push the total sum of all blobs over the account's + limit. + "422": + content: + application/json: + example: + code: 9 + call: Invalid JSON + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#9 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform unprocessible entity response. + "500": + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform internal error. + summary: Create a Blob + summary: Operations affecting the whole set of Blobs belonging to an account. + /Accounts/{accountId}/Blobs/{blobId}: + delete: + description: "Deletes a blob or specific keys from a blob. If no keys are specified\ + \ in the request body, the entire blob is deleted (returns 204). If specific\ + \ keys are provided, only those keys are removed and the remaining blob is\ + \ returned (returns 200)." + operationId: delete-blob + parameters: + - description: ID of the account + explode: false + in: path + name: accountId + required: true + schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" + type: string + style: simple + x-account-id: true + - description: String that uniquely identifies this Blob resource. + explode: false + in: path + name: blobId + required: true + schema: + $ref: '#/components/schemas/blobId' + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/BlobResult' + description: "Blob keys deleted successfully, remaining blob returned." + "204": + description: Successful operation + "404": + content: + application/json: + example: + code: 1 + call: Not Found + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#1 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform not found error. + "422": + content: + application/json: + example: + code: 9 + call: Invalid JSON + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#9 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform unprocessible entity response. + "500": + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform internal error. + "504": + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: gateway timeout error + summary: Delete Blob + get: + description: Retrieves a specified blob + operationId: get-blob + parameters: + - description: ID of the account + explode: false + in: path + name: accountId + required: true + schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" + type: string + style: simple + x-account-id: true + - description: String that uniquely identifies this Blob resource. + explode: false + in: path + name: blobId + required: true + schema: + $ref: '#/components/schemas/blobId' + style: simple + responses: + "200": + content: + application/json: + example: + blobId: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + accountId: AC3ff5d5aed7fde9e6659673d850cbd18ea8bfca78 + alias: my-blob-alias + revision: 1 + dateCreated: 2006-01-02T15:04:05.000Z + dateUpdated: 2006-01-02T15:04:05.000Z + expiresAt: 2006-01-02T15:04:05.000Z + blob: + field0: value0 + field1: 1 + field2: true + schema: + $ref: '#/components/schemas/BlobResult' + description: Retrieve a Blob. + "404": + content: + application/json: + example: + code: 1 + call: Not Found + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#1 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform not found error. + "500": + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform internal error. + "504": + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: gateway timeout error + summary: Get Blob + patch: + description: "Modifys a pre existing blob by either adding new fields, or modifying\ + \ existing fields" + operationId: modify-blob + parameters: + - description: ID of the account + explode: false + in: path + name: accountId + required: true + schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" + type: string + style: simple + x-account-id: true + - description: String that uniquely identifies this Blob resource. + explode: false + in: path + name: blobId + required: true + schema: + $ref: '#/components/schemas/blobId' + style: simple + requestBody: + content: + application/json: + example: + alias: new_conversation_id + blob: + field0: value0_redux + field4: value4 + schema: + $ref: '#/components/schemas/ModifyBlobRequest' + description: Request body to specify keys to modify. Or new keys to add onto + the already existing blob + required: true + responses: + "200": + content: + application/json: + example: + blobId: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + accountId: AC3ff5d5aed7fde9e6659673d850cbd18ea8bfca78 + alias: new_conversation_id + revision: 2 + dateCreated: 2006-01-02T15:04:05.000Z + dateUpdated: 2006-01-02T15:04:05.000Z + expiresAt: 2006-01-02T15:04:05.000Z + blob: + field0: value0_redux + field4: value4 + schema: + $ref: '#/components/schemas/BlobResult' + description: "Blob keys successfully modified, updated blob returned." + "404": + content: + application/json: + example: + code: 1 + call: Not Found + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#1 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform not found error. + "409": + content: + application/json: + example: + code: 108 + call: ResourceConflict + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#108 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform status conflict error. + "413": + content: + application/json: + example: + code: 3 + call: BadRequestBody + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#3 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform status request entity too large. + "500": + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform internal error. + summary: Modify Blob + put: + description: Replaces the blob content with the provided values. + operationId: replace-blob + parameters: + - description: ID of the account + explode: false + in: path + name: accountId + required: true + schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" + type: string + style: simple + x-account-id: true + - description: String that uniquely identifies this Blob resource. + explode: false + in: path + name: blobId + required: true + schema: + $ref: '#/components/schemas/blobId' + style: simple + requestBody: + content: + application/json: + example: + blob: + field0: value0_redux + field4: value4 + schema: + $ref: '#/components/schemas/ReplaceBlobRequest' + description: JSON object containing blob key the contents of which will be + used to override the enitre blob contents. + required: true + responses: + "200": + content: + application/json: + example: + blobId: BL387ec3f6e03b340553f35f29c8f118cdf3eae08a + accountId: AC3ff5d5aed7fde9e6659673d850cbd18ea8bfca78 + alias: new_conversation_id + revision: 2 + dateCreated: 2006-01-02T15:04:05.000Z + dateUpdated: 2006-01-02T15:04:05.000Z + expiresAt: 2006-01-02T15:04:05.000Z + blob: + field0: value0_redux + field4: value4 + schema: + $ref: '#/components/schemas/BlobResult' + description: Replaces all keys in blob with those provided. + "404": + content: + application/json: + example: + code: 1 + call: Not Found + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#1 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform not found error. + "409": + content: + application/json: + example: + code: 108 + call: ResourceConflict + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#108 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform status conflict error. + "413": + content: + application/json: + example: + code: 3 + call: BadRequestBody + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#3 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform status request entity too large. + "500": + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform internal error. + summary: Replace Blob + summary: Operations affecting an individual blob belonging to an account. components: parameters: AccountId: @@ -2548,6 +3208,8 @@ components: name: accountId required: true schema: + example: AC170e4c66d358aa1755931da0452561933d1b8fd5 + pattern: "AC[0-9a-fA-F]{40}" type: string style: simple x-account-id: true @@ -2596,7 +3258,89 @@ components: schema: type: boolean style: form + responses: + success204: + description: Successful operation + error400: + content: + application/json: + example: + code: 80 + call: Missing Required Parameter(s) + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#80 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform bad request. + error404: + content: + application/json: + example: + code: 1 + call: Not Found + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#1 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform not found error. + error409: + content: + application/json: + example: + code: 108 + call: ResourceConflict + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#108 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform status conflict error. + error413: + content: + application/json: + example: + code: 3 + call: BadRequestBody + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#3 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform status request entity too large. + error422: + content: + application/json: + example: + code: 9 + call: Invalid JSON + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#9 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform unprocessible entity response. + error500: + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: Generic platform internal error. + error504: + content: + application/json: + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + schema: + $ref: '#/components/schemas/PlatformError' + description: gateway timeout error schemas: + accountId: + example: AC0534faec6b32da45f36166674d65b3903f784141 + pattern: "AC[0-9a-fA-F]{40}" + type: string + blobId: + description: Identifier which can be used to reference this blob in future interations. + example: BL88615a9b4ca7e9aad57d9057773fc74268b9caf7 + pattern: "BL[0-9a-fA-F]{40}" + type: string AccountStatus: description: "The status of this account. It is one of: active, suspended, or\ \ closed." @@ -5719,6 +6463,40 @@ components: \ in response to the `leaveConferenceUrl` attribute." x-percl-command: RemoveFromConference x-no-properties: true + TTSEngineName: + description: The engine to use for the TTS. The complete list of valid values + for the engine attribute is shown below. + enum: + - freeclimb.standard + - freeclimb.neural + - ElevenLabs + type: string + x-enum: true + x-enum-varnames: + - FREECLIMB_STANDARD + - FREECLIMB_NEURAL + - ELEVEN_LABS + x-enum-mapping: + - enum: freeclimb.standard + varname: FREECLIMB_STANDARD + - enum: freeclimb.neural + varname: FREECLIMB_NEURAL + - enum: ElevenLabs + varname: ELEVEN_LABS + TTSEngine: + properties: + name: + $ref: '#/components/schemas/TTSEngineName' + parameters: + additionalProperties: true + description: Parameters for the TTS engine. The parameters are specific + to the engine and are documented in the engine's documentation. + properties: {} + type: object + x-is-map: true + x-is-object: true + type: object + x-is-object: true Say: allOf: - $ref: '#/components/schemas/PerclCommand' @@ -5734,6 +6512,8 @@ components: the accent and pronunciations to be usde for the TTS. The complete list of valid values for the language attribute is shown below. type: string + engine: + $ref: '#/components/schemas/TTSEngine' loop: default: 1 description: Number of times the text is said. Specifying '0' causes the @@ -5745,7 +6525,6 @@ components: type: boolean required: - text - type: object description: 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. @@ -6263,9 +7042,7 @@ components: shortCode: true phoneNumber: phoneNumber campaignId: campaignId - smsEnabled: true region: region - voiceEnabled: true properties: capabilities: $ref: '#/components/schemas/Capabilities' @@ -6278,17 +7055,6 @@ components: \ number: +18003608245)." nullable: true type: string - voiceEnabled: - deprecated: true - description: Typically set to true for all numbers. - nullable: true - type: boolean - smsEnabled: - deprecated: true - description: Indicates whether the phone number can send and receive SMS - messages. - nullable: true - type: boolean region: description: The state or province of this phone number. nullable: true @@ -6324,9 +7090,7 @@ components: shortCode: true phoneNumber: phoneNumber campaignId: campaignId - smsEnabled: true region: region - voiceEnabled: true - country: country capabilities: voice: true @@ -6336,9 +7100,7 @@ components: shortCode: true phoneNumber: phoneNumber campaignId: campaignId - smsEnabled: true region: region - voiceEnabled: true start: 6 pageSize: 2 end: 1 @@ -6386,18 +7148,6 @@ components: description: Country of this phone number. nullable: true type: string - voiceEnabled: - deprecated: true - description: Indicates whether the phone number can handle Calls. Typically - set to true for all numbers. - nullable: true - type: boolean - smsEnabled: - deprecated: true - description: Indication of whether the phone number can handle sending - and receiving SMS messages. Typically set to true for all numbers. - nullable: true - type: boolean offnet: description: The offnet field is a boolean representing whether the number is offnet registered or not. This field will be rendered only for requests @@ -6420,11 +7170,9 @@ components: phoneNumberId: phoneNumberId dateUpdated: dateUpdated revision: 0 - voiceEnabled: true accountId: accountId dateCreated: dateCreated phoneNumber: phoneNumber - smsEnabled: true alias: alias offnet: true applicationId: applicationId @@ -6477,11 +7225,9 @@ components: phoneNumberId: phoneNumberId dateUpdated: dateUpdated revision: 0 - voiceEnabled: true accountId: accountId dateCreated: dateCreated phoneNumber: phoneNumber - smsEnabled: true alias: alias offnet: true applicationId: applicationId @@ -6500,11 +7246,9 @@ components: phoneNumberId: phoneNumberId dateUpdated: dateUpdated revision: 0 - voiceEnabled: true accountId: accountId dateCreated: dateCreated phoneNumber: phoneNumber - smsEnabled: true alias: alias offnet: true applicationId: applicationId @@ -9045,6 +9789,174 @@ components: - resourceType type: object x-is-object: true + CreateBlobRequest: + additionalProperties: false + example: + blob: "{}" + alias: alias + expiresAt: 2006-01-02T15:04:05.000Z + properties: + alias: + description: Custom identifier for this blob that is unique for the owning + account. It will be set to the blobId by default if not provided. + maxLength: 64 + type: string + expiresAt: + description: An RFC3339 timestamp with millisecond resolution. This timestamp + defines the time at which this blob will delete itself. It must not be + more than 48 hours in the future and will default to 9 hours in the future + if not provided. + example: 2006-01-02T15:04:05.000Z + type: string + blob: + type: object + x-is-object: true + x-is-required: true + required: + - blob + type: object + x-is-object: true + ModifyBlobRequest: + example: + blob: "{}" + alias: alias + properties: + blob: + type: object + x-is-object: true + x-is-required: true + alias: + description: Custom identifier for this blob that is unique for the owning + account. It will be set to the blobId by default if not provided. + maxLength: 64 + type: string + required: + - blob + type: object + x-is-object: true + ReplaceBlobRequest: + example: + blob: "{}" + properties: + blob: + type: object + x-is-object: true + x-is-required: true + required: + - blob + type: object + x-is-object: true + BlobResult: + example: + accountId: AC0534faec6b32da45f36166674d65b3903f784141 + dateCreated: 2000-01-23T04:56:07.000+00:00 + blob: "{}" + blobId: BL88615a9b4ca7e9aad57d9057773fc74268b9caf7 + alias: alias + expiresAt: 2000-01-23T04:56:07.000+00:00 + revision: 7 + dateUpdated: 2000-01-23T04:56:07.000+00:00 + properties: + blobId: + description: Identifier which can be used to reference this blob in future + interations. + example: BL88615a9b4ca7e9aad57d9057773fc74268b9caf7 + pattern: "BL[0-9a-fA-F]{40}" + type: string + accountId: + example: AC0534faec6b32da45f36166674d65b3903f784141 + pattern: "AC[0-9a-fA-F]{40}" + type: string + alias: + description: Custom identifier for this blob that is unique for the owning + account. It will be set to the blobId by default if not provided in the + creation request. + maxLength: 64 + type: string + revision: + type: integer + dateCreated: + description: An RFC3339 timestamp with millisecond resolution. It represents + the time this blob was created. + format: date-time + type: string + x-is-date-time: true + dateUpdated: + description: "An RFC3339 timestamp with millisecond resolution. It represents\ + \ the time this blob was last modified, which at creation will always\ + \ equal dateCreated." + format: date-time + type: string + x-is-date-time: true + expiresAt: + description: An RFC3339 timestamp with millisecond resolution. It represents + the time at which this blob will expire and self delete. + format: date-time + type: string + x-is-date-time: true + blob: + description: Blob content + type: object + x-is-object: true + type: object + x-is-object: true + BlobListResponse: + allOf: + - $ref: '#/components/schemas/PaginationModel' + - properties: + blobs: + items: + $ref: '#/components/schemas/BlobResult' + type: array + x-is-list: true + type: object + example: + numPages: 5 + blobs: + - accountId: AC0534faec6b32da45f36166674d65b3903f784141 + dateCreated: 2000-01-23T04:56:07.000+00:00 + blob: "{}" + blobId: BL88615a9b4ca7e9aad57d9057773fc74268b9caf7 + alias: alias + expiresAt: 2000-01-23T04:56:07.000+00:00 + revision: 7 + dateUpdated: 2000-01-23T04:56:07.000+00:00 + - accountId: AC0534faec6b32da45f36166674d65b3903f784141 + dateCreated: 2000-01-23T04:56:07.000+00:00 + blob: "{}" + blobId: BL88615a9b4ca7e9aad57d9057773fc74268b9caf7 + alias: alias + expiresAt: 2000-01-23T04:56:07.000+00:00 + revision: 7 + dateUpdated: 2000-01-23T04:56:07.000+00:00 + total: 0 + nextPageUri: nextPageUri + start: 6 + pageSize: 2 + end: 1 + page: 5 + type: object + x-is-object: true + x-implements: Pagination + PlatformError: + description: Standard error structure returned by platform. + example: + code: 0 + call: Internal Failure + url: https://docs.freeclimb.com/reference/error-and-warning-dictionary#0 + properties: + code: + type: integer + call: + type: string + url: + format: uri-reference + type: string + details: + type: object + x-is-object: true + type: object + x-is-object: true AccountResult_allOf_subresourceUris: description: The list of subresources for this account. nullable: true diff --git a/docs/AvailableNumber.md b/docs/AvailableNumber.md index f1cc6c5f..11fc40dd 100644 --- a/docs/AvailableNumber.md +++ b/docs/AvailableNumber.md @@ -7,8 +7,6 @@ Name | Type | Description | Notes **Capabilities** | [**Capabilities**](Capabilities.md) | | [optional] **CampaignId** | **string** | The campaign ID generated by the campaign registry | [optional] **PhoneNumber** | **string** | The phone number, in E.164 format (+ country code and phone number: +18003608245). | [optional] -**VoiceEnabled** | **bool?** | Typically set to true for all numbers. | [optional] -**SmsEnabled** | **bool?** | Indicates whether the phone number can send and receive SMS messages. | [optional] **Region** | **string** | The state or province of this phone number. | [optional] **Country** | **string** | The country of this phone number. | [optional] diff --git a/docs/BlobListResponse.md b/docs/BlobListResponse.md new file mode 100644 index 00000000..1e207c86 --- /dev/null +++ b/docs/BlobListResponse.md @@ -0,0 +1,17 @@ +# freeclimb.Model.BlobListResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Total** | **int?** | Total amount of requested resource. | [optional] +**Start** | **int?** | Resource index at start of current page | [optional] +**End** | **int?** | Resource index at end of current page | [optional] +**Page** | **int?** | Current page | [optional] +**NumPages** | **int?** | Total number of pages | [optional] +**PageSize** | **int?** | Number of items per page | [optional] +**NextPageUri** | **string** | Uri to retrieve the next page of items | [optional] +**Blobs** | [**List<BlobResult>**](BlobResult.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/BlobResult.md b/docs/BlobResult.md new file mode 100644 index 00000000..a6ce1da1 --- /dev/null +++ b/docs/BlobResult.md @@ -0,0 +1,17 @@ +# freeclimb.Model.BlobResult + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**BlobId** | **string** | Identifier which can be used to reference this blob in future interations. | [optional] +**AccountId** | **string** | | [optional] +**Alias** | **string** | Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided in the creation request. | [optional] +**Revision** | **int** | | [optional] +**DateCreated** | **DateTime** | An RFC3339 timestamp with millisecond resolution. It represents the time this blob was created. | [optional] +**DateUpdated** | **DateTime** | An RFC3339 timestamp with millisecond resolution. It represents the time this blob was last modified, which at creation will always equal dateCreated. | [optional] +**ExpiresAt** | **DateTime** | An RFC3339 timestamp with millisecond resolution. It represents the time at which this blob will expire and self delete. | [optional] +**Blob** | **Object** | Blob content | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/CreateBlobRequest.md b/docs/CreateBlobRequest.md new file mode 100644 index 00000000..53577d35 --- /dev/null +++ b/docs/CreateBlobRequest.md @@ -0,0 +1,12 @@ +# freeclimb.Model.CreateBlobRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Alias** | **string** | Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided. | [optional] +**ExpiresAt** | **string** | An RFC3339 timestamp with millisecond resolution. This timestamp defines the time at which this blob will delete itself. It must not be more than 48 hours in the future and will default to 9 hours in the future if not provided. | [optional] +**Blob** | **Object** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/DefaultApi.md b/docs/DefaultApi.md index 662cc209..c73af291 100644 --- a/docs/DefaultApi.md +++ b/docs/DefaultApi.md @@ -8,12 +8,14 @@ All URIs are relative to *https://www.freeclimb.com/apiserver* | [**CreateAConference**](DefaultApi.md#createaconference) | **POST** /Accounts/{accountId}/Conferences | Create a Conference | | [**CreateAQueue**](DefaultApi.md#createaqueue) | **POST** /Accounts/{accountId}/Queues | Create a Queue | | [**CreateAnApplication**](DefaultApi.md#createanapplication) | **POST** /Accounts/{accountId}/Applications | Create an application | +| [**CreateBlob**](DefaultApi.md#createblob) | **POST** /Accounts/{accountId}/Blobs | Create a Blob | | [**CreateExport**](DefaultApi.md#createexport) | **POST** /Accounts/{accountId}/Exports | Create an Export | | [**CreateKnowledgeBaseCompletion**](DefaultApi.md#createknowledgebasecompletion) | **POST** /Accounts/{accountId}/KnowledgeBases/{knowledgeBaseId}/Completion | Query the knowledge base | | [**DeleteARecording**](DefaultApi.md#deletearecording) | **DELETE** /Accounts/{accountId}/Recordings/{recordingId} | Delete a Recording | | [**DeleteAnApplication**](DefaultApi.md#deleteanapplication) | **DELETE** /Accounts/{accountId}/Applications/{applicationId} | Delete an application | | [**DeleteAnExport**](DefaultApi.md#deleteanexport) | **DELETE** /Accounts/{accountId}/Exports/{exportId} | Delete an Export | | [**DeleteAnIncomingNumber**](DefaultApi.md#deleteanincomingnumber) | **DELETE** /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Delete an Incoming Number | +| [**DeleteBlob**](DefaultApi.md#deleteblob) | **DELETE** /Accounts/{accountId}/Blobs/{blobId} | Delete Blob | | [**DequeueAMember**](DefaultApi.md#dequeueamember) | **POST** /Accounts/{accountId}/Queues/{queueId}/Members/{callId} | Dequeue a Member | | [**DequeueHeadMember**](DefaultApi.md#dequeueheadmember) | **POST** /Accounts/{accountId}/Queues/{queueId}/Members/Front | Dequeue Head Member | | [**DownloadARecordingFile**](DefaultApi.md#downloadarecordingfile) | **GET** /Accounts/{accountId}/Recordings/{recordingId}/Download | Download a Recording File | @@ -30,6 +32,7 @@ All URIs are relative to *https://www.freeclimb.com/apiserver* | [**GetAnExport**](DefaultApi.md#getanexport) | **GET** /Accounts/{accountId}/Exports/{exportId} | Get an Export | | [**GetAnIncomingNumber**](DefaultApi.md#getanincomingnumber) | **GET** /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Get an Incoming Number | | [**GetAnSmsMessage**](DefaultApi.md#getansmsmessage) | **GET** /Accounts/{accountId}/Messages/{messageId} | Get an SMS Message | +| [**GetBlob**](DefaultApi.md#getblob) | **GET** /Accounts/{accountId}/Blobs/{blobId} | Get Blob | | [**GetHeadMember**](DefaultApi.md#getheadmember) | **GET** /Accounts/{accountId}/Queues/{queueId}/Members/Front | Get Head Member | | [**GetTenDLCSmsBrand**](DefaultApi.md#gettendlcsmsbrand) | **GET** /Accounts/{accountId}/Messages/10DLC/Brands/{brandId} | Get a 10DLC SMS Brand | | [**GetTenDLCSmsBrands**](DefaultApi.md#gettendlcsmsbrands) | **GET** /Accounts/{accountId}/Messages/10DLC/Brands | Get list of SMS 10DLC Brands | @@ -43,6 +46,7 @@ All URIs are relative to *https://www.freeclimb.com/apiserver* | [**ListAllAccountLogs**](DefaultApi.md#listallaccountlogs) | **GET** /Accounts/{accountId}/Logs | List All Account Logs | | [**ListApplications**](DefaultApi.md#listapplications) | **GET** /Accounts/{accountId}/Applications | List applications | | [**ListAvailableNumbers**](DefaultApi.md#listavailablenumbers) | **GET** /AvailablePhoneNumbers | List available numbers | +| [**ListBlobs**](DefaultApi.md#listblobs) | **GET** /Accounts/{accountId}/Blobs | List Blobs belonging to an account. | | [**ListCallLogs**](DefaultApi.md#listcalllogs) | **GET** /Accounts/{accountId}/Calls/{callId}/Logs | List Call Logs | | [**ListCallRecordings**](DefaultApi.md#listcallrecordings) | **GET** /Accounts/{accountId}/Calls/{callId}/Recordings | List Call Recordings | | [**ListCalls**](DefaultApi.md#listcalls) | **GET** /Accounts/{accountId}/Calls | List Calls | @@ -56,7 +60,9 @@ All URIs are relative to *https://www.freeclimb.com/apiserver* | [**ListSmsMessages**](DefaultApi.md#listsmsmessages) | **GET** /Accounts/{accountId}/Messages | List SMS Messages | | [**MakeACall**](DefaultApi.md#makeacall) | **POST** /Accounts/{accountId}/Calls | Make a Call | | [**MakeAWebrtcJwt**](DefaultApi.md#makeawebrtcjwt) | **POST** /Accounts/{accountId}/Calls/WebRTC/Token | Make a JWT for WebRTC calling | +| [**ModifyBlob**](DefaultApi.md#modifyblob) | **PATCH** /Accounts/{accountId}/Blobs/{blobId} | Modify Blob | | [**RemoveAParticipant**](DefaultApi.md#removeaparticipant) | **DELETE** /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Remove a Participant | +| [**ReplaceBlob**](DefaultApi.md#replaceblob) | **PUT** /Accounts/{accountId}/Blobs/{blobId} | Replace Blob | | [**SendAnSmsMessage**](DefaultApi.md#sendansmsmessage) | **POST** /Accounts/{accountId}/Messages | Send an SMS Message | | [**StreamARecordingFile**](DefaultApi.md#streamarecordingfile) | **GET** /Accounts/{accountId}/Recordings/{recordingId}/Stream | Stream a Recording File | | [**UpdateAConference**](DefaultApi.md#updateaconference) | **POST** /Accounts/{accountId}/Conferences/{conferenceId} | Update a Conference | @@ -455,6 +461,110 @@ catch (ApiException e) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **CreateBlob** +> BlobResult CreateBlob (CreateBlobRequest createBlobRequest) + +Create a Blob + +Create a new Blob belonging to the requesting account. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using freeclimb.Api; +using freeclimb.Client; +using freeclimb.Model; + +namespace Example +{ + public class CreateBlobExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://www.freeclimb.com/apiserver"; + // Configure HTTP basic authorization: fc + config.Username = "YOUR_USERNAME"; + config.Password = "YOUR_PASSWORD"; + + var apiInstance = new DefaultApi(config); + + var createBlobRequest = new CreateBlobRequest(); // CreateBlobRequest | An object defining a new blob. A request body must be provided but the blob may be empty. + + try + { + // Create a Blob + BlobResult result = apiInstance.CreateBlob(createBlobRequest); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling DefaultApi.CreateBlob: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the CreateBlobWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Create a Blob + ApiResponse response = apiInstance.CreateBlobWithHttpInfo(createBlobRequest); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.CreateBlobWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| + + +| **createBlobRequest** | [**CreateBlobRequest**](CreateBlobRequest.md) | An object defining a new blob. A request body must be provided but the blob may be empty. | | + + +### Return type + +[**BlobResult**](BlobResult.md) + +### Authorization + +[fc](../README.md#fc) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | Successful creation of a new blob. | - | +| **400** | Generic platform bad request. | - | +| **409** | A blob with the provided alias already exists oln the requesting account and so this new blob is rejected as there cannot be duplicate alises. | - | +| **413** | The blob exceeded one of the size limits. Either it itself is too large or it would push the total sum of all blobs over the account's limit. | - | +| **422** | Generic platform unprocessible entity response. | - | +| **500** | Generic platform internal error. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **CreateExport** > ExportResult CreateExport (ExportRequest? exportRequest = null) @@ -1025,6 +1135,110 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **DeleteBlob** +> BlobResult DeleteBlob (string blobId) + +Delete Blob + +Deletes a blob or specific keys from a blob. If no keys are specified in the request body, the entire blob is deleted (returns 204). If specific keys are provided, only those keys are removed and the remaining blob is returned (returns 200). + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using freeclimb.Api; +using freeclimb.Client; +using freeclimb.Model; + +namespace Example +{ + public class DeleteBlobExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://www.freeclimb.com/apiserver"; + // Configure HTTP basic authorization: fc + config.Username = "YOUR_USERNAME"; + config.Password = "YOUR_PASSWORD"; + + var apiInstance = new DefaultApi(config); + + var blobId = "blobId_example"; // string | String that uniquely identifies this Blob resource. + + try + { + // Delete Blob + BlobResult result = apiInstance.DeleteBlob(blobId); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling DefaultApi.DeleteBlob: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the DeleteBlobWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Delete Blob + ApiResponse response = apiInstance.DeleteBlobWithHttpInfo(blobId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.DeleteBlobWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| + + +| **blobId** | **string** | String that uniquely identifies this Blob resource. | | + + +### Return type + +[**BlobResult**](BlobResult.md) + +### Authorization + +[fc](../README.md#fc) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Blob keys deleted successfully, remaining blob returned. | - | +| **204** | Successful operation | - | +| **404** | Generic platform not found error. | - | +| **422** | Generic platform unprocessible entity response. | - | +| **500** | Generic platform internal error. | - | +| **504** | gateway timeout error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **DequeueAMember** > QueueMember DequeueAMember (string queueId, string callId) @@ -1310,13 +1524,13 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: audio/x-wav + - **Accept**: audio/wav ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | Download a Recording file represented with audio/x-wav mime-type | - | +| **200** | Download a Recording file represented with audio/wav mime-type | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -2582,6 +2796,108 @@ catch (ApiException e) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **GetBlob** +> BlobResult GetBlob (string blobId) + +Get Blob + +Retrieves a specified blob + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using freeclimb.Api; +using freeclimb.Client; +using freeclimb.Model; + +namespace Example +{ + public class GetBlobExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://www.freeclimb.com/apiserver"; + // Configure HTTP basic authorization: fc + config.Username = "YOUR_USERNAME"; + config.Password = "YOUR_PASSWORD"; + + var apiInstance = new DefaultApi(config); + + var blobId = "blobId_example"; // string | String that uniquely identifies this Blob resource. + + try + { + // Get Blob + BlobResult result = apiInstance.GetBlob(blobId); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling DefaultApi.GetBlob: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the GetBlobWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Get Blob + ApiResponse response = apiInstance.GetBlobWithHttpInfo(blobId); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.GetBlobWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| + + +| **blobId** | **string** | String that uniquely identifies this Blob resource. | | + + +### Return type + +[**BlobResult**](BlobResult.md) + +### Authorization + +[fc](../README.md#fc) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Retrieve a Blob. | - | +| **404** | Generic platform not found error. | - | +| **500** | Generic platform internal error. | - | +| **504** | gateway timeout error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **GetHeadMember** > QueueMember GetHeadMember (string queueId) @@ -3858,6 +4174,101 @@ catch (ApiException e) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **ListBlobs** +> BlobListResponse ListBlobs () + +List Blobs belonging to an account. + +List Blobs belonging to an account. Results are returned in paginated lists mirroring other listing features in the API. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using freeclimb.Api; +using freeclimb.Client; +using freeclimb.Model; + +namespace Example +{ + public class ListBlobsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://www.freeclimb.com/apiserver"; + // Configure HTTP basic authorization: fc + config.Username = "YOUR_USERNAME"; + config.Password = "YOUR_PASSWORD"; + + var apiInstance = new DefaultApi(config); + + try + { + // List Blobs belonging to an account. + BlobListResponse result = apiInstance.ListBlobs(); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling DefaultApi.ListBlobs: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the ListBlobsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // List Blobs belonging to an account. + ApiResponse response = apiInstance.ListBlobsWithHttpInfo(); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.ListBlobsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + + + +### Return type + +[**BlobListResponse**](BlobListResponse.md) + +### Authorization + +[fc](../README.md#fc) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Single page of blob list results. | - | +| **400** | Generic platform bad request. | - | +| **500** | Generic platform internal error. | - | +| **504** | gateway timeout error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **ListCallLogs** > LogList ListCallLogs (string callId) @@ -4506,7 +4917,7 @@ catch (ApiException e) # **ListIncomingNumbers** -> IncomingNumberList ListIncomingNumbers (string? phoneNumber = null, string? alias = null, string? region = null, string? country = null, string? applicationId = null, bool? hasApplication = null, bool? voiceEnabled = null, bool? smsEnabled = null, bool? hasCampaign = null, bool? capabilitiesVoice = null, bool? capabilitiesSms = null, bool? capabilitiesTollFree = null, bool? capabilitiesTenDLC = null, bool? capabilitiesShortCode = null, string? tfnCampaignId = null, bool? offnet = null) +> IncomingNumberList ListIncomingNumbers (string? phoneNumber = null, string? alias = null, string? region = null, string? country = null, string? applicationId = null, bool? hasApplication = null, bool? hasCampaign = null, bool? capabilitiesVoice = null, bool? capabilitiesSms = null, bool? capabilitiesTollFree = null, bool? capabilitiesTenDLC = null, bool? capabilitiesShortCode = null, string? tfnCampaignId = null, bool? offnet = null) List Incoming Numbers @@ -4544,10 +4955,6 @@ namespace Example var hasApplication = false; // bool? | Indication of whether the phone number has an application linked to it. (optional) (default to false) - var voiceEnabled = true; // bool? | Indicates whether the phone number can handle Calls. Typically set to true for all numbers. (optional) (default to true) - - var smsEnabled = true; // bool? | Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers. (optional) (default to true) - var hasCampaign = true; // bool? | Indication of whether the phone number has a campaign associated with it (optional) var capabilitiesVoice = true; // bool? | (optional) @@ -4567,7 +4974,7 @@ namespace Example try { // List Incoming Numbers - IncomingNumberList result = apiInstance.ListIncomingNumbers(phoneNumber, alias, region, country, applicationId, hasApplication, voiceEnabled, smsEnabled, hasCampaign, capabilitiesVoice, capabilitiesSms, capabilitiesTollFree, capabilitiesTenDLC, capabilitiesShortCode, tfnCampaignId, offnet); + IncomingNumberList result = apiInstance.ListIncomingNumbers(phoneNumber, alias, region, country, applicationId, hasApplication, hasCampaign, capabilitiesVoice, capabilitiesSms, capabilitiesTollFree, capabilitiesTenDLC, capabilitiesShortCode, tfnCampaignId, offnet); Debug.WriteLine(result); } catch (ApiException e) @@ -4588,7 +4995,7 @@ This returns an ApiResponse object which contains the response data, status code try { // List Incoming Numbers - ApiResponse response = apiInstance.ListIncomingNumbersWithHttpInfo(phoneNumber, alias, region, country, applicationId, hasApplication, voiceEnabled, smsEnabled, hasCampaign, capabilitiesVoice, capabilitiesSms, capabilitiesTollFree, capabilitiesTenDLC, capabilitiesShortCode, tfnCampaignId, offnet); + ApiResponse response = apiInstance.ListIncomingNumbersWithHttpInfo(phoneNumber, alias, region, country, applicationId, hasApplication, hasCampaign, capabilitiesVoice, capabilitiesSms, capabilitiesTollFree, capabilitiesTenDLC, capabilitiesShortCode, tfnCampaignId, offnet); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); @@ -4619,10 +5026,6 @@ catch (ApiException e) | **hasApplication** | **bool?** | Indication of whether the phone number has an application linked to it. | [optional] [default to false] | -| **voiceEnabled** | **bool?** | Indicates whether the phone number can handle Calls. Typically set to true for all numbers. | [optional] [default to true] | - -| **smsEnabled** | **bool?** | Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers. | [optional] [default to true] | - | **hasCampaign** | **bool?** | Indication of whether the phone number has a campaign associated with it | [optional] | | **capabilitiesVoice** | **bool?** | | [optional] | @@ -5291,6 +5694,113 @@ catch (ApiException e) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **ModifyBlob** +> BlobResult ModifyBlob (string blobId, ModifyBlobRequest modifyBlobRequest) + +Modify Blob + +Modifys a pre existing blob by either adding new fields, or modifying existing fields + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using freeclimb.Api; +using freeclimb.Client; +using freeclimb.Model; + +namespace Example +{ + public class ModifyBlobExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://www.freeclimb.com/apiserver"; + // Configure HTTP basic authorization: fc + config.Username = "YOUR_USERNAME"; + config.Password = "YOUR_PASSWORD"; + + var apiInstance = new DefaultApi(config); + + var blobId = "blobId_example"; // string | String that uniquely identifies this Blob resource. + + var modifyBlobRequest = new ModifyBlobRequest(); // ModifyBlobRequest | Request body to specify keys to modify. Or new keys to add onto the already existing blob + + try + { + // Modify Blob + BlobResult result = apiInstance.ModifyBlob(blobId, modifyBlobRequest); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling DefaultApi.ModifyBlob: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the ModifyBlobWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Modify Blob + ApiResponse response = apiInstance.ModifyBlobWithHttpInfo(blobId, modifyBlobRequest); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.ModifyBlobWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| + + +| **blobId** | **string** | String that uniquely identifies this Blob resource. | | + +| **modifyBlobRequest** | [**ModifyBlobRequest**](ModifyBlobRequest.md) | Request body to specify keys to modify. Or new keys to add onto the already existing blob | | + + +### Return type + +[**BlobResult**](BlobResult.md) + +### Authorization + +[fc](../README.md#fc) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Blob keys successfully modified, updated blob returned. | - | +| **404** | Generic platform not found error. | - | +| **409** | Generic platform status conflict error. | - | +| **413** | Generic platform status request entity too large. | - | +| **500** | Generic platform internal error. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **RemoveAParticipant** > void RemoveAParticipant (string conferenceId, string callId) @@ -5388,6 +5898,113 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **ReplaceBlob** +> BlobResult ReplaceBlob (string blobId, ReplaceBlobRequest replaceBlobRequest) + +Replace Blob + +Replaces the blob content with the provided values. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using freeclimb.Api; +using freeclimb.Client; +using freeclimb.Model; + +namespace Example +{ + public class ReplaceBlobExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "https://www.freeclimb.com/apiserver"; + // Configure HTTP basic authorization: fc + config.Username = "YOUR_USERNAME"; + config.Password = "YOUR_PASSWORD"; + + var apiInstance = new DefaultApi(config); + + var blobId = "blobId_example"; // string | String that uniquely identifies this Blob resource. + + var replaceBlobRequest = new ReplaceBlobRequest(); // ReplaceBlobRequest | JSON object containing blob key the contents of which will be used to override the enitre blob contents. + + try + { + // Replace Blob + BlobResult result = apiInstance.ReplaceBlob(blobId, replaceBlobRequest); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling DefaultApi.ReplaceBlob: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the ReplaceBlobWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Replace Blob + ApiResponse response = apiInstance.ReplaceBlobWithHttpInfo(blobId, replaceBlobRequest); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling DefaultApi.ReplaceBlobWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| + + +| **blobId** | **string** | String that uniquely identifies this Blob resource. | | + +| **replaceBlobRequest** | [**ReplaceBlobRequest**](ReplaceBlobRequest.md) | JSON object containing blob key the contents of which will be used to override the enitre blob contents. | | + + +### Return type + +[**BlobResult**](BlobResult.md) + +### Authorization + +[fc](../README.md#fc) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Replaces all keys in blob with those provided. | - | +| **404** | Generic platform not found error. | - | +| **409** | Generic platform status conflict error. | - | +| **413** | Generic platform status request entity too large. | - | +| **500** | Generic platform internal error. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **SendAnSmsMessage** > MessageResult SendAnSmsMessage (MessageRequest messageRequest) @@ -5572,13 +6189,13 @@ catch (ApiException e) ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: audio/x-wav + - **Accept**: audio/wav ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | Streaming a Recording represented with audio/x-wav mime-type | - | +| **200** | Streaming a Recording represented with audio/wav mime-type | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/IncomingNumberResult.md b/docs/IncomingNumberResult.md index 1324253d..c8779506 100644 --- a/docs/IncomingNumberResult.md +++ b/docs/IncomingNumberResult.md @@ -17,8 +17,6 @@ Name | Type | Description | Notes **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] -**VoiceEnabled** | **bool?** | Indicates whether the phone number can handle Calls. Typically set to true for all numbers. | [optional] -**SmsEnabled** | **bool?** | Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers. | [optional] **Offnet** | **bool?** | The offnet field is a boolean representing whether the number is offnet registered or not. This field will be rendered only for requests to the IncomingPhone number resource. | [optional] **Tfn** | [**TFN**](TFN.md) | | [optional] diff --git a/docs/ModifyBlobRequest.md b/docs/ModifyBlobRequest.md new file mode 100644 index 00000000..811f5a08 --- /dev/null +++ b/docs/ModifyBlobRequest.md @@ -0,0 +1,11 @@ +# freeclimb.Model.ModifyBlobRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Blob** | **Object** | | +**Alias** | **string** | Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/PlatformError.md b/docs/PlatformError.md new file mode 100644 index 00000000..ec40332c --- /dev/null +++ b/docs/PlatformError.md @@ -0,0 +1,14 @@ +# freeclimb.Model.PlatformError + +Standard error structure returned by platform. +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Code** | **int** | | [optional] +**Call** | **string** | | [optional] +**Url** | **string** | | [optional] +**Details** | **Object** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/ReplaceBlobRequest.md b/docs/ReplaceBlobRequest.md new file mode 100644 index 00000000..8d897917 --- /dev/null +++ b/docs/ReplaceBlobRequest.md @@ -0,0 +1,10 @@ +# freeclimb.Model.ReplaceBlobRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Blob** | **Object** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/Say.md b/docs/Say.md index 8d13ee85..0f06cf00 100644 --- a/docs/Say.md +++ b/docs/Say.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **Command** | **string** | Name of PerCL Command (this is automatically derived from mapping configuration and should not be manually supplied in any arguments) | [optional] **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. | **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] +**Engine** | [**TTSEngine**](TTSEngine.md) | | [optional] **Loop** | **int** | Number of times the text is said. Specifying '0' causes the `Say` action to loop until the Call is hung up. | [optional] [default to 1] **PrivacyMode** | **bool** | Parameter `privacyMode` will not log the `text` as required by PCI compliance. | [optional] diff --git a/docs/TTSEngine.md b/docs/TTSEngine.md new file mode 100644 index 00000000..f59d1575 --- /dev/null +++ b/docs/TTSEngine.md @@ -0,0 +1,11 @@ +# freeclimb.Model.TTSEngine + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Name** | **TTSEngineName** | | [optional] +**Parameters** | **Dictionary<string, Object>** | Parameters for the TTS engine. The parameters are specific to the engine and are documented in the engine's documentation. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TTSEngineName.md b/docs/TTSEngineName.md new file mode 100644 index 00000000..0c40b5a8 --- /dev/null +++ b/docs/TTSEngineName.md @@ -0,0 +1,13 @@ +# freeclimb.Enums.TTSEngineName + +The engine to use for the TTS. The complete list of valid values for the engine attribute is shown below. +## Properties + +Name | Value | Notes +------------ | ------------- | ------------- +**FREECLIMB_STANDARD** | freeclimb.standard | Represented in C# as 1 +**FREECLIMB_NEURAL** | freeclimb.neural | Represented in C# as 2 +**ELEVEN_LABS** | ElevenLabs | Represented in C# as 3 + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/freeclimb.sln b/freeclimb.sln index 9bf5f551..19b9d34c 100644 --- a/freeclimb.sln +++ b/freeclimb.sln @@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 VisualStudioVersion = 12.0.0.0 MinimumVisualStudioVersion = 10.0.0.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "freeclimb", "src\freeclimb\freeclimb.csproj", "{000BEE0D-B28A-498C-A45D-8343355D4105}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "freeclimb", "src\freeclimb\freeclimb.csproj", "{3C0B655F-1836-46E6-9B2B-D21201060C3C}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "freeclimb.Test", "src\freeclimb.Test\freeclimb.Test.csproj", "{19F1DEBC-DE5E-4517-8062-F000CD499087}" EndProject @@ -12,10 +12,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {000BEE0D-B28A-498C-A45D-8343355D4105}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {000BEE0D-B28A-498C-A45D-8343355D4105}.Debug|Any CPU.Build.0 = Debug|Any CPU - {000BEE0D-B28A-498C-A45D-8343355D4105}.Release|Any CPU.ActiveCfg = Release|Any CPU - {000BEE0D-B28A-498C-A45D-8343355D4105}.Release|Any CPU.Build.0 = Release|Any CPU + {3C0B655F-1836-46E6-9B2B-D21201060C3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3C0B655F-1836-46E6-9B2B-D21201060C3C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3C0B655F-1836-46E6-9B2B-D21201060C3C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3C0B655F-1836-46E6-9B2B-D21201060C3C}.Release|Any CPU.Build.0 = Release|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/src/freeclimb.Test/Api/DefaultApiTests.cs b/src/freeclimb.Test/Api/DefaultApiTests.cs index bf0fa1d3..7a7bbf4b 100644 --- a/src/freeclimb.Test/Api/DefaultApiTests.cs +++ b/src/freeclimb.Test/Api/DefaultApiTests.cs @@ -40,8 +40,8 @@ public DefaultApiTests() { Configuration config = new Configuration(); config.BasePath = "http://127.0.0.1:4010/"; - config.Username = "TEST-ACCOUNT-ID"; - config.Password = "TEST-API-KEY"; + config.Username = "AC0123456789abcdefABCDEF0123456789abcdef00"; + config.Password = "123ABC123ABC123ABC123ABC123ABC123ABCID"; instance = new DefaultApi(config); } @@ -107,6 +107,18 @@ public void CreateAnApplicationTest() Assert.IsAssignableFrom(response); } + /// + /// Test CreateBlob + /// + [Fact] + public void CreateBlobTest() + { + CreateBlobRequest createBlobRequest = createBlobRequestTestValue(); + + var response = instance.CreateBlob(createBlobRequest); + Assert.IsAssignableFrom(response); + } + /// /// Test CreateExport /// @@ -180,6 +192,18 @@ public void DeleteAnIncomingNumberTest() instance.DeleteAnIncomingNumber(phoneNumberId); } + /// + /// Test DeleteBlob + /// + [Fact] + public void DeleteBlobTest() + { + string blobId = blobIdTestValue(); + + var response = instance.DeleteBlob(blobId); + Assert.IsAssignableFrom(response); + } + /// /// Test DequeueAMember /// @@ -376,6 +400,18 @@ public void GetAnSmsMessageTest() Assert.IsAssignableFrom(response); } + /// + /// Test GetBlob + /// + [Fact] + public void GetBlobTest() + { + string blobId = blobIdTestValue(); + + var response = instance.GetBlob(blobId); + Assert.IsAssignableFrom(response); + } + /// /// Test GetHeadMember /// @@ -555,6 +591,16 @@ public void ListAvailableNumbersTest() Assert.IsAssignableFrom(response); } + /// + /// Test ListBlobs + /// + [Fact] + public void ListBlobsTest() + { + var response = instance.ListBlobs(); + Assert.IsAssignableFrom(response); + } + /// /// Test ListCallLogs /// @@ -688,10 +734,6 @@ public void ListIncomingNumbersTest() bool? hasApplication = hasApplicationTestValue(); - bool? voiceEnabled = voiceEnabledTestValue(); - - bool? smsEnabled = smsEnabledTestValue(); - bool? hasCampaign = hasCampaignTestValue(); bool? capabilitiesVoice = capabilitiesVoiceTestValue(); @@ -715,8 +757,6 @@ public void ListIncomingNumbersTest() country, applicationId, hasApplication, - voiceEnabled, - smsEnabled, hasCampaign, capabilitiesVoice, capabilitiesSms, @@ -834,6 +874,20 @@ public void MakeAWebrtcJwtTest() Assert.IsAssignableFrom(response); } + /// + /// Test ModifyBlob + /// + [Fact] + public void ModifyBlobTest() + { + string blobId = blobIdTestValue(); + + ModifyBlobRequest modifyBlobRequest = modifyBlobRequestTestValue(); + + var response = instance.ModifyBlob(blobId, modifyBlobRequest); + Assert.IsAssignableFrom(response); + } + /// /// Test RemoveAParticipant /// @@ -847,6 +901,20 @@ public void RemoveAParticipantTest() instance.RemoveAParticipant(conferenceId, callId); } + /// + /// Test ReplaceBlob + /// + [Fact] + public void ReplaceBlobTest() + { + string blobId = blobIdTestValue(); + + ReplaceBlobRequest replaceBlobRequest = replaceBlobRequestTestValue(); + + var response = instance.ReplaceBlob(blobId, replaceBlobRequest); + Assert.IsAssignableFrom(response); + } + /// /// Test SendAnSmsMessage /// @@ -1147,6 +1215,21 @@ public void ListAvailableNumbersGetNextPageTest() Assert.IsAssignableFrom(nextPageResponse); } + /// + /// Test ListBlobs + /// + [Fact] + public void ListBlobsGetNextPageTest() + { + var response = instance.ListBlobs(); + //Assert.IsType(response); + Assert.IsAssignableFrom(response); + response.NextPageUri = "/Accounts/{accountId}/Blobs?cursor=1"; + var nextPageResponse = instance.GetNextPage(response); + //Assert.IsType(response); + Assert.IsAssignableFrom(nextPageResponse); + } + /// /// Test ListCallLogs /// @@ -1311,10 +1394,6 @@ public void ListIncomingNumbersGetNextPageTest() bool? hasApplication = hasApplicationTestValue(); - bool? voiceEnabled = voiceEnabledTestValue(); - - bool? smsEnabled = smsEnabledTestValue(); - bool? hasCampaign = hasCampaignTestValue(); bool? capabilitiesVoice = capabilitiesVoiceTestValue(); @@ -1338,8 +1417,6 @@ public void ListIncomingNumbersGetNextPageTest() country, applicationId, hasApplication, - voiceEnabled, - smsEnabled, hasCampaign, capabilitiesVoice, capabilitiesSms, @@ -1461,22 +1538,22 @@ public void ListSmsMessagesGetNextPageTest() private string accountIdTestValue() { - return "AC0000000000000000000000000000000000000000"; + return "AC0123456789abcdefABCDEF0123456789abcdef00"; } private string applicationIdTestValue() { - return "AP0000000000000000000000000000000000000000"; + return "AP0123456789abcdefABCDEF0123456789abcdef00"; } private string recordingIdTestValue() { - return "RC0000000000000000000000000000000000000000"; + return "RC0123456789abcdefABCDEF0123456789abcdef00"; } private string callIdTestValue() { - return "CA0000000000000000000000000000000000000000"; + return "CA0123456789abcdefABCDEF0123456789abcdef00"; } private string phoneNumberTestValue() @@ -1486,22 +1563,22 @@ private string phoneNumberTestValue() private string phoneNumberIdTestValue() { - return "PN0000000000000000000000000000000000000000"; + return "PN0123456789abcdefABCDEF0123456789abcdef00"; } private string queueIdTestValue() { - return "QU0000000000000000000000000000000000000000"; + return "QU0123456789abcdefABCDEF0123456789abcdef00"; } private string conferenceIdTestValue() { - return "CN0000000000000000000000000000000000000000"; + return "CN0123456789abcdefABCDEF0123456789abcdef00"; } private string messageIdTestValue() { - return "ME0000000000000000000000000000000000000000"; + return "ME0123456789abcdefABCDEF0123456789abcdef00"; } private string aliasTestValue() @@ -1686,8 +1763,6 @@ private AvailableNumberList availableNumberListTestValue() capabilities, "TEST-CAMPAIGN", "+18003608245", - true, - true, "US", "IL" ); @@ -1695,8 +1770,6 @@ private AvailableNumberList availableNumberListTestValue() capabilities, "TEST-CAMPAIGN", phoneNumberTestValue(), - true, - true, "US", "IL" ); @@ -2070,5 +2143,30 @@ private ExportRequest exportRequestTestValue() { return null; } + + private CreateBlobRequest createBlobRequestTestValue() + { + return new CreateBlobRequest("test_alias", "test_expiration", new { }); + } + + private string blobIdTestValue() + { + return "BL0123456789abcdefABCDEF0123456789abcdef00"; + } + + private List keyTestArray() + { + return new List() { "test_key" }; + } + + private ModifyBlobRequest modifyBlobRequestTestValue() + { + return new ModifyBlobRequest(new { }, "test_alias"); + } + + private ReplaceBlobRequest replaceBlobRequestTestValue() + { + return new ReplaceBlobRequest(new { }); + } } } diff --git a/src/freeclimb.Test/Enums/TTSEngineNameTests.cs b/src/freeclimb.Test/Enums/TTSEngineNameTests.cs new file mode 100644 index 00000000..fbecba16 --- /dev/null +++ b/src/freeclimb.Test/Enums/TTSEngineNameTests.cs @@ -0,0 +1,133 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using freeclimb.Client; +using freeclimb.Enums; +using freeclimb.Model; +using freeclimb.Test; +using Newtonsoft.Json; +using Xunit; + +namespace freeclimb.Test.Enums +{ + /// + /// Class for testing TTSEngineName + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + + public class TTSEngineNameTests : IDisposable + { + private TTSEngineName instance; + + public TTSEngineNameTests() + { + instance = new TTSEngineName(); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TTSEngineName + /// + [Fact] + public void TTSEngineNameInstanceTest() + { + Assert.IsType(instance); + } + + [Fact] + public void TestFREECLIMB_STANDARDShouldWork() + { + TTSEngineName test = TTSEngineName.FREECLIMB_STANDARD; + Assert.Equal(typeof(TTSEngineName), test.GetType()); + } + + [Fact] + public void TestFREECLIMB_STANDARDShouldSerializeToEnum() + { + TTSEngineName expectedValue = TTSEngineName.FREECLIMB_STANDARD; + TTSEngineName calculatedValue = (TTSEngineName) + Enum.Parse(typeof(TTSEngineName), "FREECLIMB_STANDARD"); + Assert.Equal(expectedValue, calculatedValue); + } + + [Fact] + public void TestFREECLIMB_STANDARDShouldDeserializeToString() + { + TTSEngineName test = TTSEngineName.FREECLIMB_STANDARD; + string expectedValue = "FREECLIMB_STANDARD"; + string calculatedValue = test.ToString(); + Assert.Equal(expectedValue, calculatedValue); + } + + [Fact] + public void TestFREECLIMB_NEURALShouldWork() + { + TTSEngineName test = TTSEngineName.FREECLIMB_NEURAL; + Assert.Equal(typeof(TTSEngineName), test.GetType()); + } + + [Fact] + public void TestFREECLIMB_NEURALShouldSerializeToEnum() + { + TTSEngineName expectedValue = TTSEngineName.FREECLIMB_NEURAL; + TTSEngineName calculatedValue = (TTSEngineName) + Enum.Parse(typeof(TTSEngineName), "FREECLIMB_NEURAL"); + Assert.Equal(expectedValue, calculatedValue); + } + + [Fact] + public void TestFREECLIMB_NEURALShouldDeserializeToString() + { + TTSEngineName test = TTSEngineName.FREECLIMB_NEURAL; + string expectedValue = "FREECLIMB_NEURAL"; + string calculatedValue = test.ToString(); + Assert.Equal(expectedValue, calculatedValue); + } + + [Fact] + public void TestELEVEN_LABSShouldWork() + { + TTSEngineName test = TTSEngineName.ELEVEN_LABS; + Assert.Equal(typeof(TTSEngineName), test.GetType()); + } + + [Fact] + public void TestELEVEN_LABSShouldSerializeToEnum() + { + TTSEngineName expectedValue = TTSEngineName.ELEVEN_LABS; + TTSEngineName calculatedValue = (TTSEngineName) + Enum.Parse(typeof(TTSEngineName), "ELEVEN_LABS"); + Assert.Equal(expectedValue, calculatedValue); + } + + [Fact] + public void TestELEVEN_LABSShouldDeserializeToString() + { + TTSEngineName test = TTSEngineName.ELEVEN_LABS; + string expectedValue = "ELEVEN_LABS"; + string calculatedValue = test.ToString(); + Assert.Equal(expectedValue, calculatedValue); + } + } +} diff --git a/src/freeclimb.Test/Model/AvailableNumberTests.cs b/src/freeclimb.Test/Model/AvailableNumberTests.cs index 0b199c0f..987abc9c 100644 --- a/src/freeclimb.Test/Model/AvailableNumberTests.cs +++ b/src/freeclimb.Test/Model/AvailableNumberTests.cs @@ -42,8 +42,6 @@ public AvailableNumberTests() capabilities: (Capabilities)TestHelpers.getTestValue(typeof(Capabilities)), campaignId: (string)TestHelpers.getTestValue(typeof(string)), phoneNumber: (string)TestHelpers.getTestValue(typeof(string)), - voiceEnabled: (bool?)TestHelpers.getTestValue(typeof(bool?)), - smsEnabled: (bool?)TestHelpers.getTestValue(typeof(bool?)), region: (string)TestHelpers.getTestValue(typeof(string)), country: (string)TestHelpers.getTestValue(typeof(string)) ); @@ -94,26 +92,6 @@ public void PhoneNumberTest() Assert.Equal("TEST_STRING", instance.PhoneNumber); } - /// - /// Test the property 'VoiceEnabled' - /// - [Fact] - public void VoiceEnabledTest() - { - instance.VoiceEnabled = false; - Assert.False(instance.VoiceEnabled); - } - - /// - /// Test the property 'SmsEnabled' - /// - [Fact] - public void SmsEnabledTest() - { - instance.SmsEnabled = false; - Assert.False(instance.SmsEnabled); - } - /// /// Test the property 'Region' /// @@ -148,10 +126,6 @@ public void AvailableNumberSerializeToJSONTest() Assert.Contains("phoneNumber", json); - Assert.Contains("voiceEnabled", json); - - Assert.Contains("smsEnabled", json); - Assert.Contains("region", json); Assert.Contains("country", json); @@ -167,10 +141,6 @@ public void AvailableNumberSerializeToJSONStripNullTest() instance.PhoneNumber = null; - instance.VoiceEnabled = null; - - instance.SmsEnabled = null; - instance.Region = null; instance.Country = null; diff --git a/src/freeclimb.Test/Model/BlobListResponseTests.cs b/src/freeclimb.Test/Model/BlobListResponseTests.cs new file mode 100644 index 00000000..2c4f2dba --- /dev/null +++ b/src/freeclimb.Test/Model/BlobListResponseTests.cs @@ -0,0 +1,197 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using freeclimb.Client; +using freeclimb.Enums; +using freeclimb.Model; +using freeclimb.Test; +using Newtonsoft.Json; +using Xunit; + +namespace freeclimb.Test.Model +{ + /// + /// Class for testing BlobListResponse + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + + public class BlobListResponseTests : IDisposable + { + private BlobListResponse instance; + + public BlobListResponseTests() + { + instance = new BlobListResponse( + total: (int?)TestHelpers.getTestValue(typeof(int?)), + start: (int?)TestHelpers.getTestValue(typeof(int?)), + end: (int?)TestHelpers.getTestValue(typeof(int?)), + page: (int?)TestHelpers.getTestValue(typeof(int?)), + numPages: (int?)TestHelpers.getTestValue(typeof(int?)), + pageSize: (int?)TestHelpers.getTestValue(typeof(int?)), + nextPageUri: (string)TestHelpers.getTestValue(typeof(string)), + blobs: (List)TestHelpers.getTestValue(typeof(List)) + ); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of BlobListResponse + /// + [Fact] + public void BlobListResponseInstanceTest() + { + Assert.IsType(instance); + } + + /// + /// Test the property 'Total' + /// + [Fact] + public void TotalTest() + { + instance.Total = 1; + Assert.Equal(1, (int)instance.Total); + } + + /// + /// Test the property 'Start' + /// + [Fact] + public void StartTest() + { + instance.Start = 1; + Assert.Equal(1, (int)instance.Start); + } + + /// + /// Test the property 'End' + /// + [Fact] + public void EndTest() + { + instance.End = 1; + Assert.Equal(1, (int)instance.End); + } + + /// + /// Test the property 'Page' + /// + [Fact] + public void PageTest() + { + instance.Page = 1; + Assert.Equal(1, (int)instance.Page); + } + + /// + /// Test the property 'NumPages' + /// + [Fact] + public void NumPagesTest() + { + instance.NumPages = 1; + Assert.Equal(1, (int)instance.NumPages); + } + + /// + /// Test the property 'PageSize' + /// + [Fact] + public void PageSizeTest() + { + instance.PageSize = 1; + Assert.Equal(1, (int)instance.PageSize); + } + + /// + /// Test the property 'NextPageUri' + /// + [Fact] + public void NextPageUriTest() + { + instance.NextPageUri = "TEST_STRING"; + Assert.Equal("TEST_STRING", instance.NextPageUri); + } + + /// + /// Test the property 'Blobs' + /// + [Fact] + public void BlobsTest() + { + List testList = new List(); + instance.Blobs = testList; + Assert.Equal(instance.Blobs, testList); + } + + /// + /// Test serialize a BlobListResponse to JSON string - all values are present + /// + [Fact] + public void BlobListResponseSerializeToJSONTest() + { + string json = instance.ToJson(); + + Assert.Contains("total", json); + + Assert.Contains("start", json); + + Assert.Contains("end", json); + + Assert.Contains("page", json); + + Assert.Contains("numPages", json); + + Assert.Contains("pageSize", json); + + Assert.Contains("nextPageUri", json); + + Assert.Contains("blobs", json); + } + + /// + /// Test serialize a BlobListResponse to JSON string - null values are stripped + /// + [Fact] + public void BlobListResponseSerializeToJSONStripNullTest() + { + instance.Total = null; + + instance.Start = null; + + instance.End = null; + + instance.Page = null; + + instance.NumPages = null; + + instance.PageSize = null; + + instance.NextPageUri = null; + + string json = instance.ToJson(); + Assert.DoesNotContain("null", json); + } + } +} diff --git a/src/freeclimb.Test/Model/BlobResultTests.cs b/src/freeclimb.Test/Model/BlobResultTests.cs new file mode 100644 index 00000000..d9630129 --- /dev/null +++ b/src/freeclimb.Test/Model/BlobResultTests.cs @@ -0,0 +1,183 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using freeclimb.Client; +using freeclimb.Enums; +using freeclimb.Model; +using freeclimb.Test; +using Newtonsoft.Json; +using Xunit; + +namespace freeclimb.Test.Model +{ + /// + /// Class for testing BlobResult + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + + public class BlobResultTests : IDisposable + { + private BlobResult instance; + + public BlobResultTests() + { + instance = new BlobResult( + blobId: (string)TestHelpers.getTestValue(typeof(string)), + accountId: (string)TestHelpers.getTestValue(typeof(string)), + alias: (string)TestHelpers.getTestValue(typeof(string)), + revision: (int)TestHelpers.getTestValue(typeof(int)), + dateCreated: (DateTime)TestHelpers.getTestValue(typeof(DateTime)), + dateUpdated: (DateTime)TestHelpers.getTestValue(typeof(DateTime)), + expiresAt: (DateTime)TestHelpers.getTestValue(typeof(DateTime)), + blob: (Object)TestHelpers.getTestValue(typeof(Object)) + ); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of BlobResult + /// + [Fact] + public void BlobResultInstanceTest() + { + Assert.IsType(instance); + } + + /// + /// Test the property 'BlobId' + /// + [Fact] + public void BlobIdTest() + { + instance.BlobId = "TEST_STRING"; + Assert.Equal("TEST_STRING", instance.BlobId); + } + + /// + /// Test the property 'AccountId' + /// + [Fact] + public void AccountIdTest() + { + instance.AccountId = "TEST_STRING"; + Assert.Equal("TEST_STRING", instance.AccountId); + } + + /// + /// Test the property 'Alias' + /// + [Fact] + public void AliasTest() + { + instance.Alias = "TEST_STRING"; + Assert.Equal("TEST_STRING", instance.Alias); + } + + /// + /// Test the property 'Revision' + /// + [Fact] + public void RevisionTest() + { + instance.Revision = 1; + Assert.Equal(1, (int)instance.Revision); + } + + /// + /// Test the property 'DateCreated' + /// + [Fact] + public void DateCreatedTest() + { + instance.DateCreated = DateTime.Parse("2022-07-05T15:17:05+00:00"); + Assert.Equal(DateTime.Parse("2022-07-05T15:17:05+00:00"), instance.DateCreated); + } + + /// + /// Test the property 'DateUpdated' + /// + [Fact] + public void DateUpdatedTest() + { + instance.DateUpdated = DateTime.Parse("2022-07-05T15:17:05+00:00"); + Assert.Equal(DateTime.Parse("2022-07-05T15:17:05+00:00"), instance.DateUpdated); + } + + /// + /// Test the property 'ExpiresAt' + /// + [Fact] + public void ExpiresAtTest() + { + instance.ExpiresAt = DateTime.Parse("2022-07-05T15:17:05+00:00"); + Assert.Equal(DateTime.Parse("2022-07-05T15:17:05+00:00"), instance.ExpiresAt); + } + + /// + /// Test the property 'Blob' + /// + [Fact] + public void BlobTest() + { + Object testObject = (Object)TestHelpers.getTestValue(typeof(Object)); + instance.Blob = testObject; + Assert.Equal(testObject, instance.Blob); + } + + /// + /// Test serialize a BlobResult to JSON string - all values are present + /// + [Fact] + public void BlobResultSerializeToJSONTest() + { + string json = instance.ToJson(); + + Assert.Contains("blobId", json); + + Assert.Contains("accountId", json); + + Assert.Contains("alias", json); + + Assert.Contains("revision", json); + + Assert.Contains("dateCreated", json); + + Assert.Contains("dateUpdated", json); + + Assert.Contains("expiresAt", json); + + Assert.Contains("blob", json); + } + + /// + /// Test serialize a BlobResult to JSON string - null values are stripped + /// + [Fact] + public void BlobResultSerializeToJSONStripNullTest() + { + string json = instance.ToJson(); + Assert.DoesNotContain("null", json); + } + } +} diff --git a/src/freeclimb.Test/Model/CreateBlobRequestTests.cs b/src/freeclimb.Test/Model/CreateBlobRequestTests.cs new file mode 100644 index 00000000..1cd7cbb8 --- /dev/null +++ b/src/freeclimb.Test/Model/CreateBlobRequestTests.cs @@ -0,0 +1,118 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using freeclimb.Client; +using freeclimb.Enums; +using freeclimb.Model; +using freeclimb.Test; +using Newtonsoft.Json; +using Xunit; + +namespace freeclimb.Test.Model +{ + /// + /// Class for testing CreateBlobRequest + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + + public class CreateBlobRequestTests : IDisposable + { + private CreateBlobRequest instance; + + public CreateBlobRequestTests() + { + instance = new CreateBlobRequest( + alias: (string)TestHelpers.getTestValue(typeof(string)), + expiresAt: (string)TestHelpers.getTestValue(typeof(string)), + blob: (Object)TestHelpers.getTestValue(typeof(Object)) + ); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of CreateBlobRequest + /// + [Fact] + public void CreateBlobRequestInstanceTest() + { + Assert.IsType(instance); + } + + /// + /// Test the property 'Alias' + /// + [Fact] + public void AliasTest() + { + instance.Alias = "TEST_STRING"; + Assert.Equal("TEST_STRING", instance.Alias); + } + + /// + /// Test the property 'ExpiresAt' + /// + [Fact] + public void ExpiresAtTest() + { + instance.ExpiresAt = "TEST_STRING"; + Assert.Equal("TEST_STRING", instance.ExpiresAt); + } + + /// + /// Test the property 'Blob' + /// + [Fact] + public void BlobTest() + { + Object testObject = (Object)TestHelpers.getTestValue(typeof(Object)); + instance.Blob = testObject; + Assert.Equal(testObject, instance.Blob); + } + + /// + /// Test serialize a CreateBlobRequest to JSON string - all values are present + /// + [Fact] + public void CreateBlobRequestSerializeToJSONTest() + { + string json = instance.ToJson(); + + Assert.Contains("alias", json); + + Assert.Contains("expiresAt", json); + + Assert.Contains("blob", json); + } + + /// + /// Test serialize a CreateBlobRequest to JSON string - null values are stripped + /// + [Fact] + public void CreateBlobRequestSerializeToJSONStripNullTest() + { + string json = instance.ToJson(); + Assert.DoesNotContain("null", json); + } + } +} diff --git a/src/freeclimb.Test/Model/IncomingNumberResultTests.cs b/src/freeclimb.Test/Model/IncomingNumberResultTests.cs index dd167cfd..0d2fbce5 100644 --- a/src/freeclimb.Test/Model/IncomingNumberResultTests.cs +++ b/src/freeclimb.Test/Model/IncomingNumberResultTests.cs @@ -52,8 +52,6 @@ public IncomingNumberResultTests() alias: (string)TestHelpers.getTestValue(typeof(string)), region: (string)TestHelpers.getTestValue(typeof(string)), country: (string)TestHelpers.getTestValue(typeof(string)), - voiceEnabled: (bool?)TestHelpers.getTestValue(typeof(bool?)), - smsEnabled: (bool?)TestHelpers.getTestValue(typeof(bool?)), offnet: (bool?)TestHelpers.getTestValue(typeof(bool?)), tfn: (TFN)TestHelpers.getTestValue(typeof(TFN)) ); @@ -204,26 +202,6 @@ public void CountryTest() Assert.Equal("TEST_STRING", instance.Country); } - /// - /// Test the property 'VoiceEnabled' - /// - [Fact] - public void VoiceEnabledTest() - { - instance.VoiceEnabled = false; - Assert.False(instance.VoiceEnabled); - } - - /// - /// Test the property 'SmsEnabled' - /// - [Fact] - public void SmsEnabledTest() - { - instance.SmsEnabled = false; - Assert.False(instance.SmsEnabled); - } - /// /// Test the property 'Offnet' /// @@ -279,10 +257,6 @@ public void IncomingNumberResultSerializeToJSONTest() Assert.Contains("country", json); - Assert.Contains("voiceEnabled", json); - - Assert.Contains("smsEnabled", json); - Assert.Contains("offnet", json); Assert.Contains("tfn", json); @@ -310,10 +284,6 @@ public void IncomingNumberResultSerializeToJSONStripNullTest() instance.Country = null; - instance.VoiceEnabled = null; - - instance.SmsEnabled = null; - instance.Offnet = null; string json = instance.ToJson(); diff --git a/src/freeclimb.Test/Model/ModifyBlobRequestTests.cs b/src/freeclimb.Test/Model/ModifyBlobRequestTests.cs new file mode 100644 index 00000000..ea943db7 --- /dev/null +++ b/src/freeclimb.Test/Model/ModifyBlobRequestTests.cs @@ -0,0 +1,105 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using freeclimb.Client; +using freeclimb.Enums; +using freeclimb.Model; +using freeclimb.Test; +using Newtonsoft.Json; +using Xunit; + +namespace freeclimb.Test.Model +{ + /// + /// Class for testing ModifyBlobRequest + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + + public class ModifyBlobRequestTests : IDisposable + { + private ModifyBlobRequest instance; + + public ModifyBlobRequestTests() + { + instance = new ModifyBlobRequest( + blob: (Object)TestHelpers.getTestValue(typeof(Object)), + alias: (string)TestHelpers.getTestValue(typeof(string)) + ); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ModifyBlobRequest + /// + [Fact] + public void ModifyBlobRequestInstanceTest() + { + Assert.IsType(instance); + } + + /// + /// Test the property 'Blob' + /// + [Fact] + public void BlobTest() + { + Object testObject = (Object)TestHelpers.getTestValue(typeof(Object)); + instance.Blob = testObject; + Assert.Equal(testObject, instance.Blob); + } + + /// + /// Test the property 'Alias' + /// + [Fact] + public void AliasTest() + { + instance.Alias = "TEST_STRING"; + Assert.Equal("TEST_STRING", instance.Alias); + } + + /// + /// Test serialize a ModifyBlobRequest to JSON string - all values are present + /// + [Fact] + public void ModifyBlobRequestSerializeToJSONTest() + { + string json = instance.ToJson(); + + Assert.Contains("blob", json); + + Assert.Contains("alias", json); + } + + /// + /// Test serialize a ModifyBlobRequest to JSON string - null values are stripped + /// + [Fact] + public void ModifyBlobRequestSerializeToJSONStripNullTest() + { + string json = instance.ToJson(); + Assert.DoesNotContain("null", json); + } + } +} diff --git a/src/freeclimb.Test/Model/PlatformErrorTests.cs b/src/freeclimb.Test/Model/PlatformErrorTests.cs new file mode 100644 index 00000000..d9eceb87 --- /dev/null +++ b/src/freeclimb.Test/Model/PlatformErrorTests.cs @@ -0,0 +1,131 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using freeclimb.Client; +using freeclimb.Enums; +using freeclimb.Model; +using freeclimb.Test; +using Newtonsoft.Json; +using Xunit; + +namespace freeclimb.Test.Model +{ + /// + /// Class for testing PlatformError + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + + public class PlatformErrorTests : IDisposable + { + private PlatformError instance; + + public PlatformErrorTests() + { + instance = new PlatformError( + code: (int)TestHelpers.getTestValue(typeof(int)), + call: (string)TestHelpers.getTestValue(typeof(string)), + url: (string)TestHelpers.getTestValue(typeof(string)), + details: (Object)TestHelpers.getTestValue(typeof(Object)) + ); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of PlatformError + /// + [Fact] + public void PlatformErrorInstanceTest() + { + Assert.IsType(instance); + } + + /// + /// Test the property 'Code' + /// + [Fact] + public void CodeTest() + { + instance.Code = 1; + Assert.Equal(1, (int)instance.Code); + } + + /// + /// Test the property 'Call' + /// + [Fact] + public void CallTest() + { + instance.Call = "TEST_STRING"; + Assert.Equal("TEST_STRING", instance.Call); + } + + /// + /// Test the property 'Url' + /// + [Fact] + public void UrlTest() + { + instance.Url = "TEST_STRING"; + Assert.Equal("TEST_STRING", instance.Url); + } + + /// + /// Test the property 'Details' + /// + [Fact] + public void DetailsTest() + { + Object testObject = (Object)TestHelpers.getTestValue(typeof(Object)); + instance.Details = testObject; + Assert.Equal(testObject, instance.Details); + } + + /// + /// Test serialize a PlatformError to JSON string - all values are present + /// + [Fact] + public void PlatformErrorSerializeToJSONTest() + { + string json = instance.ToJson(); + + Assert.Contains("code", json); + + Assert.Contains("call", json); + + Assert.Contains("url", json); + + Assert.Contains("details", json); + } + + /// + /// Test serialize a PlatformError to JSON string - null values are stripped + /// + [Fact] + public void PlatformErrorSerializeToJSONStripNullTest() + { + string json = instance.ToJson(); + Assert.DoesNotContain("null", json); + } + } +} diff --git a/src/freeclimb.Test/Model/ReplaceBlobRequestTests.cs b/src/freeclimb.Test/Model/ReplaceBlobRequestTests.cs new file mode 100644 index 00000000..235eb75b --- /dev/null +++ b/src/freeclimb.Test/Model/ReplaceBlobRequestTests.cs @@ -0,0 +1,92 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using freeclimb.Client; +using freeclimb.Enums; +using freeclimb.Model; +using freeclimb.Test; +using Newtonsoft.Json; +using Xunit; + +namespace freeclimb.Test.Model +{ + /// + /// Class for testing ReplaceBlobRequest + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + + public class ReplaceBlobRequestTests : IDisposable + { + private ReplaceBlobRequest instance; + + public ReplaceBlobRequestTests() + { + instance = new ReplaceBlobRequest( + blob: (Object)TestHelpers.getTestValue(typeof(Object)) + ); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of ReplaceBlobRequest + /// + [Fact] + public void ReplaceBlobRequestInstanceTest() + { + Assert.IsType(instance); + } + + /// + /// Test the property 'Blob' + /// + [Fact] + public void BlobTest() + { + Object testObject = (Object)TestHelpers.getTestValue(typeof(Object)); + instance.Blob = testObject; + Assert.Equal(testObject, instance.Blob); + } + + /// + /// Test serialize a ReplaceBlobRequest to JSON string - all values are present + /// + [Fact] + public void ReplaceBlobRequestSerializeToJSONTest() + { + string json = instance.ToJson(); + + Assert.Contains("blob", json); + } + + /// + /// Test serialize a ReplaceBlobRequest to JSON string - null values are stripped + /// + [Fact] + public void ReplaceBlobRequestSerializeToJSONStripNullTest() + { + string json = instance.ToJson(); + Assert.DoesNotContain("null", json); + } + } +} diff --git a/src/freeclimb.Test/Model/SayTests.cs b/src/freeclimb.Test/Model/SayTests.cs index ecc42ad6..777d67fa 100644 --- a/src/freeclimb.Test/Model/SayTests.cs +++ b/src/freeclimb.Test/Model/SayTests.cs @@ -41,6 +41,7 @@ public SayTests() instance = new Say( text: (string)TestHelpers.getTestValue(typeof(string)), language: (string)TestHelpers.getTestValue(typeof(string)), + engine: (TTSEngine)TestHelpers.getTestValue(typeof(TTSEngine)), loop: (int)TestHelpers.getTestValue(typeof(int)), privacyMode: (bool)TestHelpers.getTestValue(typeof(bool)) ); @@ -80,6 +81,17 @@ public void LanguageTest() Assert.Equal("TEST_STRING", instance.Language); } + /// + /// Test the property 'Engine' + /// + [Fact] + public void EngineTest() + { + TTSEngine testObject = (TTSEngine)TestHelpers.getTestValue(typeof(TTSEngine)); + instance.Engine = testObject; + Assert.Equal(testObject, instance.Engine); + } + /// /// Test the property 'Loop' /// @@ -112,6 +124,8 @@ public void SaySerializeToJSONTest() Assert.Contains("language", json); + Assert.Contains("engine", json); + Assert.Contains("loop", json); Assert.Contains("privacyMode", json); diff --git a/src/freeclimb.Test/Model/TTSEngineTests.cs b/src/freeclimb.Test/Model/TTSEngineTests.cs new file mode 100644 index 00000000..d9c3bd00 --- /dev/null +++ b/src/freeclimb.Test/Model/TTSEngineTests.cs @@ -0,0 +1,112 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using freeclimb.Client; +using freeclimb.Enums; +using freeclimb.Model; +using freeclimb.Test; +using Newtonsoft.Json; +using Xunit; + +namespace freeclimb.Test.Model +{ + /// + /// Class for testing TTSEngine + /// + /// + /// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech). + /// Please update the test case below to test the model. + /// + + public class TTSEngineTests : IDisposable + { + private TTSEngine instance; + + public TTSEngineTests() + { + instance = new TTSEngine( + name: (TTSEngineName)TestHelpers.getTestValue(typeof(TTSEngineName)), + parameters: (Dictionary) + TestHelpers.getTestValue(typeof(Dictionary)) + ); + } + + public void Dispose() + { + // Cleanup when everything is done. + } + + /// + /// Test an instance of TTSEngine + /// + [Fact] + public void TTSEngineInstanceTest() + { + Assert.IsType(instance); + } + + /// + /// Test the property 'Name' + /// + [Fact] + public void NameTest() + { + instance.Name = TTSEngineName.FREECLIMB_STANDARD; + Assert.Equal(TTSEngineName.FREECLIMB_STANDARD, instance.Name); + instance.Name = TTSEngineName.FREECLIMB_NEURAL; + Assert.Equal(TTSEngineName.FREECLIMB_NEURAL, instance.Name); + instance.Name = TTSEngineName.ELEVEN_LABS; + Assert.Equal(TTSEngineName.ELEVEN_LABS, instance.Name); + } + + /// + /// Test the property 'Parameters' + /// + [Fact] + public void ParametersTest() + { + Dictionary testObject = + (Dictionary) + TestHelpers.getTestValue(typeof(Dictionary)); + instance.Parameters = testObject; + Assert.Equal(testObject, instance.Parameters); + } + + /// + /// Test serialize a TTSEngine to JSON string - all values are present + /// + [Fact] + public void TTSEngineSerializeToJSONTest() + { + string json = instance.ToJson(); + + Assert.Contains("name", json); + + Assert.Contains("parameters", json); + } + + /// + /// Test serialize a TTSEngine to JSON string - null values are stripped + /// + [Fact] + public void TTSEngineSerializeToJSONStripNullTest() + { + string json = instance.ToJson(); + Assert.DoesNotContain("null", json); + } + } +} diff --git a/src/freeclimb.Test/TestHelpers.cs b/src/freeclimb.Test/TestHelpers.cs index 50cd5bda..eeabaf4f 100644 --- a/src/freeclimb.Test/TestHelpers.cs +++ b/src/freeclimb.Test/TestHelpers.cs @@ -342,6 +342,23 @@ public static object getTestValue(Type type) { return new List(); } + if (type == typeof(List)) + { + return new List(); + } + if (type == typeof(BlobResult)) + { + return new BlobResult(); + } + if (type == typeof(TTSEngine)) + { + return new TTSEngine(name: TTSEngineNameValueConverter.FromString("freeclimb.standard"), parameters: new Dictionary()); + } + if (type == typeof(TTSEngineName)) + { + return TTSEngineNameValueConverter.FromString("freeclimb.standard"); + } + throw new ArgumentException("Provided type has no test value", type.ToString()); } } diff --git a/src/freeclimb/Api/DefaultApi.cs b/src/freeclimb/Api/DefaultApi.cs index d53dd8b1..ec1e9520 100644 --- a/src/freeclimb/Api/DefaultApi.cs +++ b/src/freeclimb/Api/DefaultApi.cs @@ -124,6 +124,30 @@ ApiResponse CreateAnApplicationWithHttpInfo( ApplicationRequest? applicationRequest = default(ApplicationRequest?) ); + /// + /// Create a Blob + /// + /// + /// Create a new Blob belonging to the requesting account. + /// + /// Thrown when fails to make API call + /// An object defining a new blob. A request body must be provided but the blob may be empty. + + /// BlobResult + BlobResult CreateBlob(CreateBlobRequest createBlobRequest); + + /// + /// Create a Blob + /// + /// + /// Create a new Blob belonging to the requesting account. + /// + /// Thrown when fails to make API call + /// An object defining a new blob. A request body must be provided but the blob may be empty. + + /// ApiResponse of BlobResult + ApiResponse CreateBlobWithHttpInfo(CreateBlobRequest createBlobRequest); + /// /// Create an Export /// @@ -260,6 +284,30 @@ ApiResponse CreateKnowledgeBaseCompletionWithHttpInfo( /// ApiResponse of Object(void) ApiResponse DeleteAnIncomingNumberWithHttpInfo(string phoneNumberId); + /// + /// Delete Blob + /// + /// + /// Deletes a blob or specific keys from a blob. If no keys are specified in the request body, the entire blob is deleted (returns 204). If specific keys are provided, only those keys are removed and the remaining blob is returned (returns 200). + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + + /// BlobResult + BlobResult DeleteBlob(string blobId); + + /// + /// Delete Blob + /// + /// + /// Deletes a blob or specific keys from a blob. If no keys are specified in the request body, the entire blob is deleted (returns 204). If specific keys are provided, only those keys are removed and the remaining blob is returned (returns 200). + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + + /// ApiResponse of BlobResult + ApiResponse DeleteBlobWithHttpInfo(string blobId); + /// /// Dequeue a Member /// @@ -603,6 +651,30 @@ string callId /// ApiResponse of MessageResult ApiResponse GetAnSmsMessageWithHttpInfo(string messageId); + /// + /// Get Blob + /// + /// + /// Retrieves a specified blob + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + + /// BlobResult + BlobResult GetBlob(string blobId); + + /// + /// Get Blob + /// + /// + /// Retrieves a specified blob + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + + /// ApiResponse of BlobResult + ApiResponse GetBlobWithHttpInfo(string blobId); + /// /// Get Head Member /// @@ -918,6 +990,28 @@ ApiResponse ListAvailableNumbersWithHttpInfo( bool? capabilitiesShortCode = default(bool?) ); + /// + /// List Blobs belonging to an account. + /// + /// + /// List Blobs belonging to an account. Results are returned in paginated lists mirroring other listing features in the API. + /// + /// Thrown when fails to make API call + + /// BlobListResponse + BlobListResponse ListBlobs(); + + /// + /// List Blobs belonging to an account. + /// + /// + /// List Blobs belonging to an account. Results are returned in paginated lists mirroring other listing features in the API. + /// + /// Thrown when fails to make API call + + /// ApiResponse of BlobListResponse + ApiResponse ListBlobsWithHttpInfo(); + /// /// List Call Logs /// @@ -1135,8 +1229,6 @@ ApiResponse ListExportsWithHttpInfo( /// Country of this phone number. (optional) /// 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) /// Indication of whether the phone number has an application linked to it. (optional, default to false) - /// Indicates whether the phone number can handle Calls. Typically set to true for all numbers. (optional, default to true) (deprecated) - /// Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers. (optional, default to true) (deprecated) /// Indication of whether the phone number has a campaign associated with it (optional) /// (optional) /// (optional) @@ -1154,8 +1246,6 @@ IncomingNumberList ListIncomingNumbers( string? country = default(string?), string? applicationId = default(string?), bool? hasApplication = default(bool?), - bool? voiceEnabled = default(bool?), - bool? smsEnabled = default(bool?), bool? hasCampaign = default(bool?), bool? capabilitiesVoice = default(bool?), bool? capabilitiesSms = default(bool?), @@ -1179,8 +1269,6 @@ IncomingNumberList ListIncomingNumbers( /// Country of this phone number. (optional) /// 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) /// Indication of whether the phone number has an application linked to it. (optional, default to false) - /// Indicates whether the phone number can handle Calls. Typically set to true for all numbers. (optional, default to true) (deprecated) - /// Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers. (optional, default to true) (deprecated) /// Indication of whether the phone number has a campaign associated with it (optional) /// (optional) /// (optional) @@ -1198,8 +1286,6 @@ ApiResponse ListIncomingNumbersWithHttpInfo( string? country = default(string?), string? applicationId = default(string?), bool? hasApplication = default(bool?), - bool? voiceEnabled = default(bool?), - bool? smsEnabled = default(bool?), bool? hasCampaign = default(bool?), bool? capabilitiesVoice = default(bool?), bool? capabilitiesSms = default(bool?), @@ -1398,6 +1484,35 @@ ApiResponse MakeACallWithHttpInfo( /// ApiResponse of string ApiResponse MakeAWebrtcJwtWithHttpInfo(CreateWebRTCToken createWebRTCToken); + /// + /// Modify Blob + /// + /// + /// Modifys a pre existing blob by either adding new fields, or modifying existing fields + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + /// Request body to specify keys to modify. Or new keys to add onto the already existing blob + + /// BlobResult + BlobResult ModifyBlob(string blobId, ModifyBlobRequest modifyBlobRequest); + + /// + /// Modify Blob + /// + /// + /// Modifys a pre existing blob by either adding new fields, or modifying existing fields + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + /// Request body to specify keys to modify. Or new keys to add onto the already existing blob + + /// ApiResponse of BlobResult + ApiResponse ModifyBlobWithHttpInfo( + string blobId, + ModifyBlobRequest modifyBlobRequest + ); + /// /// Remove a Participant /// @@ -1421,6 +1536,35 @@ ApiResponse MakeACallWithHttpInfo( /// ApiResponse of Object(void) ApiResponse RemoveAParticipantWithHttpInfo(string conferenceId, string callId); + /// + /// Replace Blob + /// + /// + /// Replaces the blob content with the provided values. + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + /// JSON object containing blob key the contents of which will be used to override the enitre blob contents. + + /// BlobResult + BlobResult ReplaceBlob(string blobId, ReplaceBlobRequest replaceBlobRequest); + + /// + /// Replace Blob + /// + /// + /// Replaces the blob content with the provided values. + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + /// JSON object containing blob key the contents of which will be used to override the enitre blob contents. + + /// ApiResponse of BlobResult + ApiResponse ReplaceBlobWithHttpInfo( + string blobId, + ReplaceBlobRequest replaceBlobRequest + ); + /// /// Send an SMS Message /// @@ -2282,6 +2426,115 @@ public freeclimb.Client.ApiResponse CreateAnApplicationWithHt return localVarResponse; } + /// + /// Create a Blob Create a new Blob belonging to the requesting account. + /// + /// Thrown when fails to make API call + /// An object defining a new blob. A request body must be provided but the blob may be empty. + + /// BlobResult + public BlobResult CreateBlob(CreateBlobRequest createBlobRequest) + { + freeclimb.Client.ApiResponse localVarResponse = CreateBlobWithHttpInfo( + createBlobRequest + ); + return localVarResponse.Data; + } + + /// + /// Create a Blob Create a new Blob belonging to the requesting account. + /// + /// Thrown when fails to make API call + /// An object defining a new blob. A request body must be provided but the blob may be empty. + + /// ApiResponse of BlobResult + public freeclimb.Client.ApiResponse CreateBlobWithHttpInfo( + CreateBlobRequest createBlobRequest + ) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'accountId' when calling DefaultApi->CreateBlob" + ); + } + + // verify the required parameter 'createBlobRequest' is set + if (createBlobRequest == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'createBlobRequest' when calling DefaultApi->CreateBlob" + ); + } + + freeclimb.Client.RequestOptions localVarRequestOptions = + new freeclimb.Client.RequestOptions(); + + string[] _contentTypes = new string[] { "application/json" }; + + // to determine the Accept header + string[] _accepts = new string[] { "application/json" }; + + var localVarContentType = freeclimb.Client.ClientUtils.SelectHeaderContentType( + _contentTypes + ); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = freeclimb.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add( + "accountId", + freeclimb.Client.ClientUtils.ParameterToString(accountId) + ); // path parameter + localVarRequestOptions.Data = createBlobRequest; + + localVarRequestOptions.Operation = "DefaultApi.CreateBlob"; + + // authentication (fc) required + // http basic authentication required + if ( + !string.IsNullOrEmpty(this.Configuration.Username) + || !string.IsNullOrEmpty(this.Configuration.Password) + && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") + ) + { + localVarRequestOptions.HeaderParameters.Add( + "Authorization", + "Basic " + + freeclimb.Client.ClientUtils.Base64Encode( + this.Configuration.Username + ":" + this.Configuration.Password + ) + ); + } + + // make the HTTP request + var localVarResponse = this.Client.Post( + "/Accounts/{accountId}/Blobs", + localVarRequestOptions, + this.Configuration + ); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("CreateBlob", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + /// /// Create an Export /// @@ -2942,59 +3195,44 @@ string phoneNumberId } /// - /// Dequeue a Member + /// Delete Blob Deletes a blob or specific keys from a blob. If no keys are specified in the request body, the entire blob is deleted (returns 204). If specific keys are provided, only those keys are removed and the remaining blob is returned (returns 200). /// /// Thrown when fails to make API call - /// String that uniquely identifies the Queue that the Member belongs to. - /// ID if the Call that the Member belongs to + /// String that uniquely identifies this Blob resource. - /// QueueMember - public QueueMember DequeueAMember(string queueId, string callId) + /// BlobResult + public BlobResult DeleteBlob(string blobId) { - freeclimb.Client.ApiResponse localVarResponse = DequeueAMemberWithHttpInfo( - queueId, - callId + freeclimb.Client.ApiResponse localVarResponse = DeleteBlobWithHttpInfo( + blobId ); return localVarResponse.Data; } /// - /// Dequeue a Member + /// Delete Blob Deletes a blob or specific keys from a blob. If no keys are specified in the request body, the entire blob is deleted (returns 204). If specific keys are provided, only those keys are removed and the remaining blob is returned (returns 200). /// /// Thrown when fails to make API call - /// String that uniquely identifies the Queue that the Member belongs to. - /// ID if the Call that the Member belongs to + /// String that uniquely identifies this Blob resource. - /// ApiResponse of QueueMember - public freeclimb.Client.ApiResponse DequeueAMemberWithHttpInfo( - string queueId, - string callId - ) + /// ApiResponse of BlobResult + public freeclimb.Client.ApiResponse DeleteBlobWithHttpInfo(string blobId) { // verify the required parameter 'accountId' is set if (accountId == null) { throw new freeclimb.Client.ApiException( 400, - "Missing required parameter 'accountId' when calling DefaultApi->DequeueAMember" - ); - } - - // verify the required parameter 'queueId' is set - if (queueId == null) - { - throw new freeclimb.Client.ApiException( - 400, - "Missing required parameter 'queueId' when calling DefaultApi->DequeueAMember" + "Missing required parameter 'accountId' when calling DefaultApi->DeleteBlob" ); } - // verify the required parameter 'callId' is set - if (callId == null) + // verify the required parameter 'blobId' is set + if (blobId == null) { throw new freeclimb.Client.ApiException( 400, - "Missing required parameter 'callId' when calling DefaultApi->DequeueAMember" + "Missing required parameter 'blobId' when calling DefaultApi->DeleteBlob" ); } @@ -3025,15 +3263,11 @@ string callId freeclimb.Client.ClientUtils.ParameterToString(accountId) ); // path parameter localVarRequestOptions.PathParameters.Add( - "queueId", - freeclimb.Client.ClientUtils.ParameterToString(queueId) - ); // path parameter - localVarRequestOptions.PathParameters.Add( - "callId", - freeclimb.Client.ClientUtils.ParameterToString(callId) + "blobId", + freeclimb.Client.ClientUtils.ParameterToString(blobId) ); // path parameter - localVarRequestOptions.Operation = "DefaultApi.DequeueAMember"; + localVarRequestOptions.Operation = "DefaultApi.DeleteBlob"; // authentication (fc) required // http basic authentication required @@ -3053,14 +3287,14 @@ string callId } // make the HTTP request - var localVarResponse = this.Client.Post( - "/Accounts/{accountId}/Queues/{queueId}/Members/{callId}", + var localVarResponse = this.Client.Delete( + "/Accounts/{accountId}/Blobs/{blobId}", localVarRequestOptions, this.Configuration ); if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("DequeueAMember", localVarResponse); + Exception _exception = this.ExceptionFactory("DeleteBlob", localVarResponse); if (_exception != null) { throw _exception; @@ -3071,28 +3305,33 @@ string callId } /// - /// Dequeue Head Member + /// Dequeue a Member /// /// Thrown when fails to make API call - /// String that uniquely identifies this queue resource. + /// String that uniquely identifies the Queue that the Member belongs to. + /// ID if the Call that the Member belongs to /// QueueMember - public QueueMember DequeueHeadMember(string queueId) + public QueueMember DequeueAMember(string queueId, string callId) { - freeclimb.Client.ApiResponse localVarResponse = - DequeueHeadMemberWithHttpInfo(queueId); + freeclimb.Client.ApiResponse localVarResponse = DequeueAMemberWithHttpInfo( + queueId, + callId + ); return localVarResponse.Data; } /// - /// Dequeue Head Member + /// Dequeue a Member /// /// Thrown when fails to make API call - /// String that uniquely identifies this queue resource. + /// String that uniquely identifies the Queue that the Member belongs to. + /// ID if the Call that the Member belongs to /// ApiResponse of QueueMember - public freeclimb.Client.ApiResponse DequeueHeadMemberWithHttpInfo( - string queueId + public freeclimb.Client.ApiResponse DequeueAMemberWithHttpInfo( + string queueId, + string callId ) { // verify the required parameter 'accountId' is set @@ -3100,7 +3339,7 @@ string queueId { throw new freeclimb.Client.ApiException( 400, - "Missing required parameter 'accountId' when calling DefaultApi->DequeueHeadMember" + "Missing required parameter 'accountId' when calling DefaultApi->DequeueAMember" ); } @@ -3109,7 +3348,16 @@ string queueId { throw new freeclimb.Client.ApiException( 400, - "Missing required parameter 'queueId' when calling DefaultApi->DequeueHeadMember" + "Missing required parameter 'queueId' when calling DefaultApi->DequeueAMember" + ); + } + + // verify the required parameter 'callId' is set + if (callId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'callId' when calling DefaultApi->DequeueAMember" ); } @@ -3143,9 +3391,124 @@ string queueId "queueId", freeclimb.Client.ClientUtils.ParameterToString(queueId) ); // path parameter + localVarRequestOptions.PathParameters.Add( + "callId", + freeclimb.Client.ClientUtils.ParameterToString(callId) + ); // path parameter + + localVarRequestOptions.Operation = "DefaultApi.DequeueAMember"; + + // authentication (fc) required + // http basic authentication required + if ( + !string.IsNullOrEmpty(this.Configuration.Username) + || !string.IsNullOrEmpty(this.Configuration.Password) + && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") + ) + { + localVarRequestOptions.HeaderParameters.Add( + "Authorization", + "Basic " + + freeclimb.Client.ClientUtils.Base64Encode( + this.Configuration.Username + ":" + this.Configuration.Password + ) + ); + } + + // make the HTTP request + var localVarResponse = this.Client.Post( + "/Accounts/{accountId}/Queues/{queueId}/Members/{callId}", + localVarRequestOptions, + this.Configuration + ); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DequeueAMember", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + + /// + /// Dequeue Head Member + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this queue resource. + + /// QueueMember + public QueueMember DequeueHeadMember(string queueId) + { + freeclimb.Client.ApiResponse localVarResponse = + DequeueHeadMemberWithHttpInfo(queueId); + return localVarResponse.Data; + } + + /// + /// Dequeue Head Member + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this queue resource. + + /// ApiResponse of QueueMember + public freeclimb.Client.ApiResponse DequeueHeadMemberWithHttpInfo( + string queueId + ) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'accountId' when calling DefaultApi->DequeueHeadMember" + ); + } + + // verify the required parameter 'queueId' is set + if (queueId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'queueId' when calling DefaultApi->DequeueHeadMember" + ); + } + + freeclimb.Client.RequestOptions localVarRequestOptions = + new freeclimb.Client.RequestOptions(); + + string[] _contentTypes = new string[] { }; + + // to determine the Accept header + string[] _accepts = new string[] { "application/json" }; + + var localVarContentType = freeclimb.Client.ClientUtils.SelectHeaderContentType( + _contentTypes + ); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = freeclimb.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add( + "accountId", + freeclimb.Client.ClientUtils.ParameterToString(accountId) + ); // path parameter + localVarRequestOptions.PathParameters.Add( + "queueId", + freeclimb.Client.ClientUtils.ParameterToString(queueId) + ); // path parameter + + localVarRequestOptions.Operation = "DefaultApi.DequeueHeadMember"; - localVarRequestOptions.Operation = "DefaultApi.DequeueHeadMember"; - // authentication (fc) required // http basic authentication required if ( @@ -3230,7 +3593,7 @@ string recordingId string[] _contentTypes = new string[] { }; // to determine the Accept header - string[] _accepts = new string[] { "audio/x-wav" }; + string[] _accepts = new string[] { "audio/wav" }; var localVarContentType = freeclimb.Client.ClientUtils.SelectHeaderContentType( _contentTypes @@ -4752,6 +5115,114 @@ string messageId return localVarResponse; } + /// + /// Get Blob Retrieves a specified blob + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + + /// BlobResult + public BlobResult GetBlob(string blobId) + { + freeclimb.Client.ApiResponse localVarResponse = GetBlobWithHttpInfo(blobId); + return localVarResponse.Data; + } + + /// + /// Get Blob Retrieves a specified blob + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + + /// ApiResponse of BlobResult + public freeclimb.Client.ApiResponse GetBlobWithHttpInfo(string blobId) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'accountId' when calling DefaultApi->GetBlob" + ); + } + + // verify the required parameter 'blobId' is set + if (blobId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'blobId' when calling DefaultApi->GetBlob" + ); + } + + freeclimb.Client.RequestOptions localVarRequestOptions = + new freeclimb.Client.RequestOptions(); + + string[] _contentTypes = new string[] { }; + + // to determine the Accept header + string[] _accepts = new string[] { "application/json" }; + + var localVarContentType = freeclimb.Client.ClientUtils.SelectHeaderContentType( + _contentTypes + ); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = freeclimb.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add( + "accountId", + freeclimb.Client.ClientUtils.ParameterToString(accountId) + ); // path parameter + localVarRequestOptions.PathParameters.Add( + "blobId", + freeclimb.Client.ClientUtils.ParameterToString(blobId) + ); // path parameter + + localVarRequestOptions.Operation = "DefaultApi.GetBlob"; + + // authentication (fc) required + // http basic authentication required + if ( + !string.IsNullOrEmpty(this.Configuration.Username) + || !string.IsNullOrEmpty(this.Configuration.Password) + && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") + ) + { + localVarRequestOptions.HeaderParameters.Add( + "Authorization", + "Basic " + + freeclimb.Client.ClientUtils.Base64Encode( + this.Configuration.Username + ":" + this.Configuration.Password + ) + ); + } + + // make the HTTP request + var localVarResponse = this.Client.Get( + "/Accounts/{accountId}/Blobs/{blobId}", + localVarRequestOptions, + this.Configuration + ); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("GetBlob", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + /// /// Get Head Member /// @@ -6254,6 +6725,100 @@ public freeclimb.Client.ApiResponse ListAvailableNumbersWit return localVarResponse; } + /// + /// List Blobs belonging to an account. List Blobs belonging to an account. Results are returned in paginated lists mirroring other listing features in the API. + /// + /// Thrown when fails to make API call + + /// BlobListResponse + public BlobListResponse ListBlobs() + { + freeclimb.Client.ApiResponse localVarResponse = + ListBlobsWithHttpInfo(); + return localVarResponse.Data; + } + + /// + /// List Blobs belonging to an account. List Blobs belonging to an account. Results are returned in paginated lists mirroring other listing features in the API. + /// + /// Thrown when fails to make API call + + /// ApiResponse of BlobListResponse + public freeclimb.Client.ApiResponse ListBlobsWithHttpInfo() + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'accountId' when calling DefaultApi->ListBlobs" + ); + } + + freeclimb.Client.RequestOptions localVarRequestOptions = + new freeclimb.Client.RequestOptions(); + + string[] _contentTypes = new string[] { }; + + // to determine the Accept header + string[] _accepts = new string[] { "application/json" }; + + var localVarContentType = freeclimb.Client.ClientUtils.SelectHeaderContentType( + _contentTypes + ); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = freeclimb.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add( + "accountId", + freeclimb.Client.ClientUtils.ParameterToString(accountId) + ); // path parameter + + localVarRequestOptions.Operation = "DefaultApi.ListBlobs"; + + // authentication (fc) required + // http basic authentication required + if ( + !string.IsNullOrEmpty(this.Configuration.Username) + || !string.IsNullOrEmpty(this.Configuration.Password) + && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") + ) + { + localVarRequestOptions.HeaderParameters.Add( + "Authorization", + "Basic " + + freeclimb.Client.ClientUtils.Base64Encode( + this.Configuration.Username + ":" + this.Configuration.Password + ) + ); + } + + // make the HTTP request + var localVarResponse = this.Client.Get( + "/Accounts/{accountId}/Blobs", + localVarRequestOptions, + this.Configuration + ); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ListBlobs", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + /// /// List Call Logs /// @@ -7112,8 +7677,6 @@ public freeclimb.Client.ApiResponse ListExportsWithHttpInfo( /// Country of this phone number. (optional) /// 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) /// Indication of whether the phone number has an application linked to it. (optional, default to false) - /// Indicates whether the phone number can handle Calls. Typically set to true for all numbers. (optional, default to true) (deprecated) - /// Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers. (optional, default to true) (deprecated) /// Indication of whether the phone number has a campaign associated with it (optional) /// (optional) /// (optional) @@ -7131,8 +7694,6 @@ public IncomingNumberList ListIncomingNumbers( string? country = default(string?), string? applicationId = default(string?), bool? hasApplication = default(bool?), - bool? voiceEnabled = default(bool?), - bool? smsEnabled = default(bool?), bool? hasCampaign = default(bool?), bool? capabilitiesVoice = default(bool?), bool? capabilitiesSms = default(bool?), @@ -7151,8 +7712,6 @@ public IncomingNumberList ListIncomingNumbers( country, applicationId, hasApplication, - voiceEnabled, - smsEnabled, hasCampaign, capabilitiesVoice, capabilitiesSms, @@ -7175,8 +7734,6 @@ public IncomingNumberList ListIncomingNumbers( /// Country of this phone number. (optional) /// 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) /// Indication of whether the phone number has an application linked to it. (optional, default to false) - /// Indicates whether the phone number can handle Calls. Typically set to true for all numbers. (optional, default to true) (deprecated) - /// Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers. (optional, default to true) (deprecated) /// Indication of whether the phone number has a campaign associated with it (optional) /// (optional) /// (optional) @@ -7194,8 +7751,6 @@ public freeclimb.Client.ApiResponse ListIncomingNumbersWithH string? country = default(string?), string? applicationId = default(string?), bool? hasApplication = default(bool?), - bool? voiceEnabled = default(bool?), - bool? smsEnabled = default(bool?), bool? hasCampaign = default(bool?), bool? capabilitiesVoice = default(bool?), bool? capabilitiesSms = default(bool?), @@ -7285,22 +7840,6 @@ public freeclimb.Client.ApiResponse ListIncomingNumbersWithH ) ); } - if (voiceEnabled != null) - { - localVarRequestOptions.QueryParameters.Add( - freeclimb.Client.ClientUtils.ParameterToMultiMap( - "", - "voiceEnabled", - voiceEnabled - ) - ); - } - if (smsEnabled != null) - { - localVarRequestOptions.QueryParameters.Add( - freeclimb.Client.ClientUtils.ParameterToMultiMap("", "smsEnabled", smsEnabled) - ); - } if (hasCampaign != null) { localVarRequestOptions.QueryParameters.Add( @@ -8194,6 +8733,132 @@ CreateWebRTCToken createWebRTCToken return localVarResponse; } + /// + /// Modify Blob Modifys a pre existing blob by either adding new fields, or modifying existing fields + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + /// Request body to specify keys to modify. Or new keys to add onto the already existing blob + + /// BlobResult + public BlobResult ModifyBlob(string blobId, ModifyBlobRequest modifyBlobRequest) + { + freeclimb.Client.ApiResponse localVarResponse = ModifyBlobWithHttpInfo( + blobId, + modifyBlobRequest + ); + return localVarResponse.Data; + } + + /// + /// Modify Blob Modifys a pre existing blob by either adding new fields, or modifying existing fields + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + /// Request body to specify keys to modify. Or new keys to add onto the already existing blob + + /// ApiResponse of BlobResult + public freeclimb.Client.ApiResponse ModifyBlobWithHttpInfo( + string blobId, + ModifyBlobRequest modifyBlobRequest + ) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'accountId' when calling DefaultApi->ModifyBlob" + ); + } + + // verify the required parameter 'blobId' is set + if (blobId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'blobId' when calling DefaultApi->ModifyBlob" + ); + } + + // verify the required parameter 'modifyBlobRequest' is set + if (modifyBlobRequest == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'modifyBlobRequest' when calling DefaultApi->ModifyBlob" + ); + } + + freeclimb.Client.RequestOptions localVarRequestOptions = + new freeclimb.Client.RequestOptions(); + + string[] _contentTypes = new string[] { "application/json" }; + + // to determine the Accept header + string[] _accepts = new string[] { "application/json" }; + + var localVarContentType = freeclimb.Client.ClientUtils.SelectHeaderContentType( + _contentTypes + ); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = freeclimb.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add( + "accountId", + freeclimb.Client.ClientUtils.ParameterToString(accountId) + ); // path parameter + localVarRequestOptions.PathParameters.Add( + "blobId", + freeclimb.Client.ClientUtils.ParameterToString(blobId) + ); // path parameter + localVarRequestOptions.Data = modifyBlobRequest; + + localVarRequestOptions.Operation = "DefaultApi.ModifyBlob"; + + // authentication (fc) required + // http basic authentication required + if ( + !string.IsNullOrEmpty(this.Configuration.Username) + || !string.IsNullOrEmpty(this.Configuration.Password) + && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") + ) + { + localVarRequestOptions.HeaderParameters.Add( + "Authorization", + "Basic " + + freeclimb.Client.ClientUtils.Base64Encode( + this.Configuration.Username + ":" + this.Configuration.Password + ) + ); + } + + // make the HTTP request + var localVarResponse = this.Client.Patch( + "/Accounts/{accountId}/Blobs/{blobId}", + localVarRequestOptions, + this.Configuration + ); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ModifyBlob", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + /// /// Remove a Participant /// @@ -8322,6 +8987,132 @@ string callId return localVarResponse; } + /// + /// Replace Blob Replaces the blob content with the provided values. + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + /// JSON object containing blob key the contents of which will be used to override the enitre blob contents. + + /// BlobResult + public BlobResult ReplaceBlob(string blobId, ReplaceBlobRequest replaceBlobRequest) + { + freeclimb.Client.ApiResponse localVarResponse = ReplaceBlobWithHttpInfo( + blobId, + replaceBlobRequest + ); + return localVarResponse.Data; + } + + /// + /// Replace Blob Replaces the blob content with the provided values. + /// + /// Thrown when fails to make API call + /// String that uniquely identifies this Blob resource. + /// JSON object containing blob key the contents of which will be used to override the enitre blob contents. + + /// ApiResponse of BlobResult + public freeclimb.Client.ApiResponse ReplaceBlobWithHttpInfo( + string blobId, + ReplaceBlobRequest replaceBlobRequest + ) + { + // verify the required parameter 'accountId' is set + if (accountId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'accountId' when calling DefaultApi->ReplaceBlob" + ); + } + + // verify the required parameter 'blobId' is set + if (blobId == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'blobId' when calling DefaultApi->ReplaceBlob" + ); + } + + // verify the required parameter 'replaceBlobRequest' is set + if (replaceBlobRequest == null) + { + throw new freeclimb.Client.ApiException( + 400, + "Missing required parameter 'replaceBlobRequest' when calling DefaultApi->ReplaceBlob" + ); + } + + freeclimb.Client.RequestOptions localVarRequestOptions = + new freeclimb.Client.RequestOptions(); + + string[] _contentTypes = new string[] { "application/json" }; + + // to determine the Accept header + string[] _accepts = new string[] { "application/json" }; + + var localVarContentType = freeclimb.Client.ClientUtils.SelectHeaderContentType( + _contentTypes + ); + if (localVarContentType != null) + { + localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + } + + var localVarAccept = freeclimb.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) + { + localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + } + + localVarRequestOptions.PathParameters.Add( + "accountId", + freeclimb.Client.ClientUtils.ParameterToString(accountId) + ); // path parameter + localVarRequestOptions.PathParameters.Add( + "blobId", + freeclimb.Client.ClientUtils.ParameterToString(blobId) + ); // path parameter + localVarRequestOptions.Data = replaceBlobRequest; + + localVarRequestOptions.Operation = "DefaultApi.ReplaceBlob"; + + // authentication (fc) required + // http basic authentication required + if ( + !string.IsNullOrEmpty(this.Configuration.Username) + || !string.IsNullOrEmpty(this.Configuration.Password) + && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization") + ) + { + localVarRequestOptions.HeaderParameters.Add( + "Authorization", + "Basic " + + freeclimb.Client.ClientUtils.Base64Encode( + this.Configuration.Username + ":" + this.Configuration.Password + ) + ); + } + + // make the HTTP request + var localVarResponse = this.Client.Put( + "/Accounts/{accountId}/Blobs/{blobId}", + localVarRequestOptions, + this.Configuration + ); + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("ReplaceBlob", localVarResponse); + if (_exception != null) + { + throw _exception; + } + } + + return localVarResponse; + } + /// /// Send an SMS Message /// @@ -8479,7 +9270,7 @@ string recordingId string[] _contentTypes = new string[] { }; // to determine the Accept header - string[] _accepts = new string[] { "audio/x-wav" }; + string[] _accepts = new string[] { "audio/wav" }; var localVarContentType = freeclimb.Client.ClientUtils.SelectHeaderContentType( _contentTypes diff --git a/src/freeclimb/Client/Configuration.cs b/src/freeclimb/Client/Configuration.cs index 12004a8e..168c18a7 100644 --- a/src/freeclimb/Client/Configuration.cs +++ b/src/freeclimb/Client/Configuration.cs @@ -34,7 +34,7 @@ public class Configuration : IReadableConfiguration /// Version of the package. /// /// Version of the package. - public const string Version = "5.2.0"; + public const string Version = "5.3.0"; /// /// Identifier for ISO 8601 DateTime Format @@ -130,7 +130,7 @@ private IReadOnlyDictionary< public Configuration() { Proxy = null; - UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/5.2.0/csharp"); + UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/5.3.0/csharp"); BasePath = "https://www.freeclimb.com/apiserver"; DefaultHeaders = new ConcurrentDictionary(); ApiKey = new ConcurrentDictionary(); @@ -582,7 +582,7 @@ public static string ToDebugReport() report += " OS: " + System.Environment.OSVersion + "\n"; report += " .NET Framework Version: " + System.Environment.Version + "\n"; report += " Version of the API: 1.0.0\n"; - report += " SDK Package Version: 5.2.0\n"; + report += " SDK Package Version: 5.3.0\n"; return report; } diff --git a/src/freeclimb/Enums/TTSEngineName.cs b/src/freeclimb/Enums/TTSEngineName.cs new file mode 100644 index 00000000..187f76c6 --- /dev/null +++ b/src/freeclimb/Enums/TTSEngineName.cs @@ -0,0 +1,101 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using freeclimb.Enums; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using OpenAPIDateConverter = freeclimb.Client.OpenAPIDateConverter; + +namespace freeclimb.Enums +{ + /// + /// The engine to use for the TTS. The complete list of valid values for the engine attribute is shown below. + /// + /// The engine to use for the TTS. The complete list of valid values for the engine attribute is shown below. + [JsonConverter(typeof(StringEnumConverter))] + public enum TTSEngineName + { + /// + /// Enum FREECLIMB_STANDARD for value: freeclimb.standard + /// + [EnumMember(Value = "freeclimb.standard")] + FREECLIMB_STANDARD = 1, + + /// + /// Enum FREECLIMB_NEURAL for value: freeclimb.neural + /// + [EnumMember(Value = "freeclimb.neural")] + FREECLIMB_NEURAL = 2, + + /// + /// Enum ELEVEN_LABS for value: ElevenLabs + /// + [EnumMember(Value = "ElevenLabs")] + ELEVEN_LABS = 3, + } + + /// + /// Converts to and from the JSON value + /// + public static class TTSEngineNameValueConverter + { + /// + /// Parses a given value to + /// + /// + /// + public static TTSEngineName FromString(string value) + { + if (value.Equals("freeclimb.standard")) + return TTSEngineName.FREECLIMB_STANDARD; + + if (value.Equals("freeclimb.neural")) + return TTSEngineName.FREECLIMB_NEURAL; + + if (value.Equals("ElevenLabs")) + return TTSEngineName.ELEVEN_LABS; + + throw new NotImplementedException( + $"Could not convert value to type TTSEngineName: '{value}'" + ); + } + + /// + /// Parses a given value to + /// + /// + /// + public static TTSEngineName? FromStringOrDefault(string value) + { + if (value.Equals("freeclimb.standard")) + return TTSEngineName.FREECLIMB_STANDARD; + + if (value.Equals("freeclimb.neural")) + return TTSEngineName.FREECLIMB_NEURAL; + + if (value.Equals("ElevenLabs")) + return TTSEngineName.ELEVEN_LABS; + + return null; + } + } +} diff --git a/src/freeclimb/Model/ApplicationList.cs b/src/freeclimb/Model/ApplicationList.cs index 3face532..11398698 100644 --- a/src/freeclimb/Model/ApplicationList.cs +++ b/src/freeclimb/Model/ApplicationList.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedApplications = new List(); if (Applications != null) { foreach (var item in Applications) { - nested.Add(item.ToKvp()); + nestedApplications.Add(item.ToKvp()); } } - AddToDictionary(props, "applications", nested); + AddToDictionary(props, "applications", nestedApplications); return props; } diff --git a/src/freeclimb/Model/AvailableNumber.cs b/src/freeclimb/Model/AvailableNumber.cs index 032ff128..1d58ff70 100644 --- a/src/freeclimb/Model/AvailableNumber.cs +++ b/src/freeclimb/Model/AvailableNumber.cs @@ -39,16 +39,12 @@ public partial class AvailableNumber : IValidatableObject /// capabilities. /// The campaign ID generated by the campaign registry. /// The phone number, in E.164 format (+ country code and phone number: +18003608245).. - /// Typically set to true for all numbers.. - /// Indicates whether the phone number can send and receive SMS messages.. /// The state or province of this phone number.. /// The country of this phone number.. public AvailableNumber( Capabilities capabilities = default(Capabilities), string campaignId = default(string), string phoneNumber = default(string), - bool? voiceEnabled = default(bool?), - bool? smsEnabled = default(bool?), string region = default(string), string country = default(string) ) @@ -59,10 +55,6 @@ public AvailableNumber( this.PhoneNumber = phoneNumber; - this.VoiceEnabled = voiceEnabled; - - this.SmsEnabled = smsEnabled; - this.Region = region; this.Country = country; @@ -88,22 +80,6 @@ public AvailableNumber( [DataMember(Name = "phoneNumber", EmitDefaultValue = true)] public string PhoneNumber { get; set; } - /// - /// Typically set to true for all numbers. - /// - /// Typically set to true for all numbers. - [DataMember(Name = "voiceEnabled", EmitDefaultValue = true)] - [Obsolete] - public bool? VoiceEnabled { get; set; } - - /// - /// Indicates whether the phone number can send and receive SMS messages. - /// - /// Indicates whether the phone number can send and receive SMS messages. - [DataMember(Name = "smsEnabled", EmitDefaultValue = true)] - [Obsolete] - public bool? SmsEnabled { get; set; } - /// /// The state or province of this phone number. /// @@ -129,8 +105,6 @@ public override string ToString() sb.Append(" Capabilities: ").Append(Capabilities).Append("\n"); sb.Append(" CampaignId: ").Append(CampaignId).Append("\n"); sb.Append(" PhoneNumber: ").Append(PhoneNumber).Append("\n"); - sb.Append(" VoiceEnabled: ").Append(VoiceEnabled).Append("\n"); - sb.Append(" SmsEnabled: ").Append(SmsEnabled).Append("\n"); sb.Append(" Region: ").Append(Region).Append("\n"); sb.Append(" Country: ").Append(Country).Append("\n"); sb.Append("}\n"); @@ -160,8 +134,6 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "capabilities", Capabilities); AddToDictionary(props, "campaignId", CampaignId); AddToDictionary(props, "phoneNumber", PhoneNumber); - AddToDictionary(props, "voiceEnabled", VoiceEnabled); - AddToDictionary(props, "smsEnabled", SmsEnabled); AddToDictionary(props, "region", Region); AddToDictionary(props, "country", Country); return props; diff --git a/src/freeclimb/Model/AvailableNumberList.cs b/src/freeclimb/Model/AvailableNumberList.cs index 09d7691a..fc9d7794 100644 --- a/src/freeclimb/Model/AvailableNumberList.cs +++ b/src/freeclimb/Model/AvailableNumberList.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedAvailablePhoneNumbers = new List(); if (AvailablePhoneNumbers != null) { foreach (var item in AvailablePhoneNumbers) { - nested.Add(item.ToKvp()); + nestedAvailablePhoneNumbers.Add(item.ToKvp()); } } - AddToDictionary(props, "availablePhoneNumbers", nested); + AddToDictionary(props, "availablePhoneNumbers", nestedAvailablePhoneNumbers); return props; } diff --git a/src/freeclimb/Model/BlobListResponse.cs b/src/freeclimb/Model/BlobListResponse.cs new file mode 100644 index 00000000..301962b6 --- /dev/null +++ b/src/freeclimb/Model/BlobListResponse.cs @@ -0,0 +1,215 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using freeclimb.Enums; +using freeclimb.Utils; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using OpenAPIDateConverter = freeclimb.Client.OpenAPIDateConverter; + +namespace freeclimb.Model +{ + /// + /// BlobListResponse + /// + [DataContract(Name = "BlobListResponse")] + public partial class BlobListResponse : IValidatableObject, IPagination + { + /// + /// Initializes a new instance of the class. + /// + /// Total amount of requested resource.. + /// Resource index at start of current page. + /// Resource index at end of current page. + /// Current page. + /// Total number of pages. + /// Number of items per page. + /// Uri to retrieve the next page of items. + /// blobs. + public BlobListResponse( + int? total = default(int?), + int? start = default(int?), + int? end = default(int?), + int? page = default(int?), + int? numPages = default(int?), + int? pageSize = default(int?), + string nextPageUri = default(string), + List blobs = default(List) + ) + { + this.Total = total; + + this.Start = start; + + this.End = end; + + this.Page = page; + + this.NumPages = numPages; + + this.PageSize = pageSize; + + this.NextPageUri = nextPageUri; + + this.Blobs = blobs; + } + + /// + /// Total amount of requested resource. + /// + /// Total amount of requested resource. + [DataMember(Name = "total", EmitDefaultValue = true)] + public int? Total { get; set; } + + /// + /// Resource index at start of current page + /// + /// Resource index at start of current page + [DataMember(Name = "start", EmitDefaultValue = true)] + public int? Start { get; set; } + + /// + /// Resource index at end of current page + /// + /// Resource index at end of current page + [DataMember(Name = "end", EmitDefaultValue = true)] + public int? End { get; set; } + + /// + /// Current page + /// + /// Current page + [DataMember(Name = "page", EmitDefaultValue = true)] + public int? Page { get; set; } + + /// + /// Total number of pages + /// + /// Total number of pages + [DataMember(Name = "numPages", EmitDefaultValue = true)] + public int? NumPages { get; set; } + + /// + /// Number of items per page + /// + /// Number of items per page + [DataMember(Name = "pageSize", EmitDefaultValue = true)] + public int? PageSize { get; set; } + + /// + /// Uri to retrieve the next page of items + /// + /// Uri to retrieve the next page of items + [DataMember(Name = "nextPageUri", EmitDefaultValue = true)] + public string NextPageUri { get; set; } + + /// + /// Gets or Sets Blobs + /// + [DataMember(Name = "blobs", EmitDefaultValue = false)] + public List Blobs { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class BlobListResponse {\n"); + sb.Append(" Total: ").Append(Total).Append("\n"); + sb.Append(" Start: ").Append(Start).Append("\n"); + sb.Append(" End: ").Append(End).Append("\n"); + sb.Append(" Page: ").Append(Page).Append("\n"); + sb.Append(" NumPages: ").Append(NumPages).Append("\n"); + sb.Append(" PageSize: ").Append(PageSize).Append("\n"); + sb.Append(" NextPageUri: ").Append(NextPageUri).Append("\n"); + sb.Append(" Blobs: ").Append(Blobs).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject( + this, + Newtonsoft.Json.Formatting.Indented, + new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore } + ); + } + + /// + /// Retrieve the KVP Dictionary for the BlobListResponse instance. + /// + /// KVP Dictionary + public virtual IDictionary ToKvp() + { + IDictionary props = new Dictionary(); + AddToDictionary(props, "total", Total); + AddToDictionary(props, "start", Start); + AddToDictionary(props, "end", End); + AddToDictionary(props, "page", Page); + AddToDictionary(props, "numPages", NumPages); + AddToDictionary(props, "pageSize", PageSize); + AddToDictionary(props, "nextPageUri", NextPageUri); + List nestedBlobs = new List(); + if (Blobs != null) + { + foreach (var item in Blobs) + { + nestedBlobs.Add(item.ToKvp()); + } + } + AddToDictionary(props, "blobs", nestedBlobs); + return props; + } + + private IDictionary AddToDictionary( + IDictionary dict, + string key, + object value + ) + { + if (value != null) + { + dict.Add(key, value); + } + return dict; + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate( + ValidationContext validationContext + ) + { + yield break; + } + } +} diff --git a/src/freeclimb/Model/BlobResult.cs b/src/freeclimb/Model/BlobResult.cs new file mode 100644 index 00000000..003874aa --- /dev/null +++ b/src/freeclimb/Model/BlobResult.cs @@ -0,0 +1,249 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using freeclimb.Enums; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using OpenAPIDateConverter = freeclimb.Client.OpenAPIDateConverter; + +namespace freeclimb.Model +{ + /// + /// BlobResult + /// + [DataContract(Name = "BlobResult")] + public partial class BlobResult : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Identifier which can be used to reference this blob in future interations.. + /// accountId. + /// Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided in the creation request.. + /// revision. + /// An RFC3339 timestamp with millisecond resolution. It represents the time this blob was created.. + /// An RFC3339 timestamp with millisecond resolution. It represents the time this blob was last modified, which at creation will always equal dateCreated.. + /// An RFC3339 timestamp with millisecond resolution. It represents the time at which this blob will expire and self delete.. + /// Blob content. + public BlobResult( + string blobId = default(string), + string accountId = default(string), + string alias = default(string), + int revision = default(int), + DateTime dateCreated = default(DateTime), + DateTime dateUpdated = default(DateTime), + DateTime expiresAt = default(DateTime), + Object blob = default(Object) + ) + { + this.BlobId = blobId; + + this.AccountId = accountId; + + this.Alias = alias; + + this.Revision = revision; + + this.DateCreated = dateCreated; + + this.DateUpdated = dateUpdated; + + this.ExpiresAt = expiresAt; + + this.Blob = blob; + } + + /// + /// Identifier which can be used to reference this blob in future interations. + /// + /// Identifier which can be used to reference this blob in future interations. + /* + BL88615a9b4ca7e9aad57d9057773fc74268b9caf7 + */ + [DataMember(Name = "blobId", EmitDefaultValue = false)] + public string BlobId { get; set; } + + /// + /// Gets or Sets AccountId + /// + /* + AC0534faec6b32da45f36166674d65b3903f784141 + */ + [DataMember(Name = "accountId", EmitDefaultValue = false)] + public string AccountId { get; set; } + + /// + /// Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided in the creation request. + /// + /// Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided in the creation request. + [DataMember(Name = "alias", EmitDefaultValue = false)] + public string Alias { get; set; } + + /// + /// Gets or Sets Revision + /// + [DataMember(Name = "revision", EmitDefaultValue = false)] + public int Revision { get; set; } + + /// + /// An RFC3339 timestamp with millisecond resolution. It represents the time this blob was created. + /// + /// An RFC3339 timestamp with millisecond resolution. It represents the time this blob was created. + [DataMember(Name = "dateCreated", EmitDefaultValue = false)] + public DateTime DateCreated { get; set; } + + /// + /// An RFC3339 timestamp with millisecond resolution. It represents the time this blob was last modified, which at creation will always equal dateCreated. + /// + /// An RFC3339 timestamp with millisecond resolution. It represents the time this blob was last modified, which at creation will always equal dateCreated. + [DataMember(Name = "dateUpdated", EmitDefaultValue = false)] + public DateTime DateUpdated { get; set; } + + /// + /// An RFC3339 timestamp with millisecond resolution. It represents the time at which this blob will expire and self delete. + /// + /// An RFC3339 timestamp with millisecond resolution. It represents the time at which this blob will expire and self delete. + [DataMember(Name = "expiresAt", EmitDefaultValue = false)] + public DateTime ExpiresAt { get; set; } + + /// + /// Blob content + /// + /// Blob content + [DataMember(Name = "blob", EmitDefaultValue = false)] + public Object Blob { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class BlobResult {\n"); + sb.Append(" BlobId: ").Append(BlobId).Append("\n"); + sb.Append(" AccountId: ").Append(AccountId).Append("\n"); + sb.Append(" Alias: ").Append(Alias).Append("\n"); + sb.Append(" Revision: ").Append(Revision).Append("\n"); + sb.Append(" DateCreated: ").Append(DateCreated).Append("\n"); + sb.Append(" DateUpdated: ").Append(DateUpdated).Append("\n"); + sb.Append(" ExpiresAt: ").Append(ExpiresAt).Append("\n"); + sb.Append(" Blob: ").Append(Blob).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject( + this, + Newtonsoft.Json.Formatting.Indented, + new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore } + ); + } + + /// + /// Retrieve the KVP Dictionary for the BlobResult instance. + /// + /// KVP Dictionary + public virtual IDictionary ToKvp() + { + IDictionary props = new Dictionary(); + AddToDictionary(props, "blobId", BlobId); + AddToDictionary(props, "accountId", AccountId); + AddToDictionary(props, "alias", Alias); + AddToDictionary(props, "revision", Revision); + AddToDictionary(props, "dateCreated", DateCreated); + AddToDictionary(props, "dateUpdated", DateUpdated); + AddToDictionary(props, "expiresAt", ExpiresAt); + AddToDictionary(props, "blob", Blob); + return props; + } + + private IDictionary AddToDictionary( + IDictionary dict, + string key, + object value + ) + { + if (value != null) + { + dict.Add(key, value); + } + return dict; + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate( + ValidationContext validationContext + ) + { + if (this.BlobId != null) + { + // BlobId (string) pattern + Regex regexBlobId = new Regex(@"BL[0-9a-fA-F]{40}", RegexOptions.CultureInvariant); + if (!regexBlobId.Match(this.BlobId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult( + "Invalid value for BlobId, must match a pattern of " + regexBlobId, + new[] { "BlobId" } + ); + } + } + + if (this.AccountId != null) + { + // AccountId (string) pattern + Regex regexAccountId = new Regex( + @"AC[0-9a-fA-F]{40}", + RegexOptions.CultureInvariant + ); + if (!regexAccountId.Match(this.AccountId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult( + "Invalid value for AccountId, must match a pattern of " + regexAccountId, + new[] { "AccountId" } + ); + } + } + + // Alias (string) maxLength + if (this.Alias != null && this.Alias.Length > 64) + { + yield return new ValidationResult( + "Invalid value for Alias, length must be less than 64.", + new[] { "Alias" } + ); + } + + yield break; + } + } +} diff --git a/src/freeclimb/Model/CallList.cs b/src/freeclimb/Model/CallList.cs index b5b147ea..df106851 100644 --- a/src/freeclimb/Model/CallList.cs +++ b/src/freeclimb/Model/CallList.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedCalls = new List(); if (Calls != null) { foreach (var item in Calls) { - nested.Add(item.ToKvp()); + nestedCalls.Add(item.ToKvp()); } } - AddToDictionary(props, "calls", nested); + AddToDictionary(props, "calls", nestedCalls); return props; } diff --git a/src/freeclimb/Model/ConferenceList.cs b/src/freeclimb/Model/ConferenceList.cs index ce2a3ad2..92db0498 100644 --- a/src/freeclimb/Model/ConferenceList.cs +++ b/src/freeclimb/Model/ConferenceList.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedConferences = new List(); if (Conferences != null) { foreach (var item in Conferences) { - nested.Add(item.ToKvp()); + nestedConferences.Add(item.ToKvp()); } } - AddToDictionary(props, "conferences", nested); + AddToDictionary(props, "conferences", nestedConferences); return props; } diff --git a/src/freeclimb/Model/ConferenceParticipantList.cs b/src/freeclimb/Model/ConferenceParticipantList.cs index f38de7be..42d0b088 100644 --- a/src/freeclimb/Model/ConferenceParticipantList.cs +++ b/src/freeclimb/Model/ConferenceParticipantList.cs @@ -176,15 +176,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedParticipants = new List(); if (Participants != null) { foreach (var item in Participants) { - nested.Add(item.ToKvp()); + nestedParticipants.Add(item.ToKvp()); } } - AddToDictionary(props, "participants", nested); + AddToDictionary(props, "participants", nestedParticipants); return props; } diff --git a/src/freeclimb/Model/CreateBlobRequest.cs b/src/freeclimb/Model/CreateBlobRequest.cs new file mode 100644 index 00000000..a696611b --- /dev/null +++ b/src/freeclimb/Model/CreateBlobRequest.cs @@ -0,0 +1,166 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using freeclimb.Enums; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using OpenAPIDateConverter = freeclimb.Client.OpenAPIDateConverter; + +namespace freeclimb.Model +{ + /// + /// CreateBlobRequest + /// + [DataContract(Name = "CreateBlobRequest")] + public partial class CreateBlobRequest : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CreateBlobRequest() { } + + /// + /// Initializes a new instance of the class. + /// + /// Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided.. + /// An RFC3339 timestamp with millisecond resolution. This timestamp defines the time at which this blob will delete itself. It must not be more than 48 hours in the future and will default to 9 hours in the future if not provided.. + /// blob (required). + public CreateBlobRequest( + string alias = default(string), + string expiresAt = default(string), + Object blob = default(Object) + ) + { + // to ensure "blob" is required (not null) + if (blob == null) + { + throw new ArgumentNullException( + "blob is a required property for CreateBlobRequest and cannot be null" + ); + } + this.Blob = blob; + + this.Alias = alias; + + this.ExpiresAt = expiresAt; + } + + /// + /// Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided. + /// + /// Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided. + [DataMember(Name = "alias", EmitDefaultValue = false)] + public string Alias { get; set; } + + /// + /// An RFC3339 timestamp with millisecond resolution. This timestamp defines the time at which this blob will delete itself. It must not be more than 48 hours in the future and will default to 9 hours in the future if not provided. + /// + /// An RFC3339 timestamp with millisecond resolution. This timestamp defines the time at which this blob will delete itself. It must not be more than 48 hours in the future and will default to 9 hours in the future if not provided. + /* + 2006-01-02T15:04:05.000Z + */ + [DataMember(Name = "expiresAt", EmitDefaultValue = false)] + public string ExpiresAt { get; set; } + + /// + /// Gets or Sets Blob + /// + [DataMember(Name = "blob", IsRequired = true, EmitDefaultValue = true)] + public Object Blob { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class CreateBlobRequest {\n"); + sb.Append(" Alias: ").Append(Alias).Append("\n"); + sb.Append(" ExpiresAt: ").Append(ExpiresAt).Append("\n"); + sb.Append(" Blob: ").Append(Blob).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject( + this, + Newtonsoft.Json.Formatting.Indented, + new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore } + ); + } + + /// + /// Retrieve the KVP Dictionary for the CreateBlobRequest instance. + /// + /// KVP Dictionary + public virtual IDictionary ToKvp() + { + IDictionary props = new Dictionary(); + AddToDictionary(props, "alias", Alias); + AddToDictionary(props, "expiresAt", ExpiresAt); + AddToDictionary(props, "blob", Blob); + return props; + } + + private IDictionary AddToDictionary( + IDictionary dict, + string key, + object value + ) + { + if (value != null) + { + dict.Add(key, value); + } + return dict; + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate( + ValidationContext validationContext + ) + { + // Alias (string) maxLength + if (this.Alias != null && this.Alias.Length > 64) + { + yield return new ValidationResult( + "Invalid value for Alias, length must be less than 64.", + new[] { "Alias" } + ); + } + + yield break; + } + } +} diff --git a/src/freeclimb/Model/ExportList.cs b/src/freeclimb/Model/ExportList.cs index 8afe7842..1c66e1e0 100644 --- a/src/freeclimb/Model/ExportList.cs +++ b/src/freeclimb/Model/ExportList.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedExports = new List(); if (Exports != null) { foreach (var item in Exports) { - nested.Add(item.ToKvp()); + nestedExports.Add(item.ToKvp()); } } - AddToDictionary(props, "exports", nested); + AddToDictionary(props, "exports", nestedExports); return props; } diff --git a/src/freeclimb/Model/ExportRequest.cs b/src/freeclimb/Model/ExportRequest.cs index 77d4b26a..15c7ef35 100644 --- a/src/freeclimb/Model/ExportRequest.cs +++ b/src/freeclimb/Model/ExportRequest.cs @@ -130,12 +130,12 @@ public virtual IDictionary ToKvp() { IDictionary props = new Dictionary(); AddToDictionary(props, "resourceType", ResourceType); - List nested = new List(); + List nestedFormat = new List(); if (Format != null) { - nested.Add(Format); + nestedFormat.Add(Format); } - AddToDictionary(props, "format", nested); + AddToDictionary(props, "format", nestedFormat); AddToDictionary(props, "output", Output); AddToDictionary(props, "query", Query); return props; diff --git a/src/freeclimb/Model/ExportResult.cs b/src/freeclimb/Model/ExportResult.cs index 8d696638..df8a4259 100644 --- a/src/freeclimb/Model/ExportResult.cs +++ b/src/freeclimb/Model/ExportResult.cs @@ -280,12 +280,12 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "size", Size); AddToDictionary(props, "resourceType", ResourceType); AddToDictionary(props, "query", Query); - List nested = new List(); + List nestedFormat = new List(); if (Format != null) { - nested.Add(Format); + nestedFormat.Add(Format); } - AddToDictionary(props, "format", nested); + AddToDictionary(props, "format", nestedFormat); AddToDictionary(props, "output", Output); return props; } diff --git a/src/freeclimb/Model/GetDigits.cs b/src/freeclimb/Model/GetDigits.cs index c73abc37..94a2b941 100644 --- a/src/freeclimb/Model/GetDigits.cs +++ b/src/freeclimb/Model/GetDigits.cs @@ -206,15 +206,15 @@ public override IDictionary ToKvp() AddToDictionary(props, "initialTimeoutMs", InitialTimeoutMs); AddToDictionary(props, "maxDigits", MaxDigits); AddToDictionary(props, "minDigits", MinDigits); - List nested = new List(); + List nestedPrompts = new List(); if (Prompts != null) { foreach (var item in Prompts) { - nested.Add(item.ToKvp()); + nestedPrompts.Add(item.ToKvp()); } } - AddToDictionary(props, "prompts", nested); + AddToDictionary(props, "prompts", nestedPrompts); AddToDictionary(props, "privacyMode", PrivacyMode); IDictionary command = new Dictionary(); command.Add("GetDigits", props); diff --git a/src/freeclimb/Model/GetSpeech.cs b/src/freeclimb/Model/GetSpeech.cs index e0d2f517..cc18db84 100644 --- a/src/freeclimb/Model/GetSpeech.cs +++ b/src/freeclimb/Model/GetSpeech.cs @@ -260,15 +260,15 @@ public override IDictionary ToKvp() AddToDictionary(props, "grammarFile", GrammarFile); AddToDictionary(props, "grammarRule", GrammarRule); AddToDictionary(props, "playBeep", PlayBeep); - List nested = new List(); + List nestedPrompts = new List(); if (Prompts != null) { foreach (var item in Prompts) { - nested.Add(item.ToKvp()); + nestedPrompts.Add(item.ToKvp()); } } - AddToDictionary(props, "prompts", nested); + AddToDictionary(props, "prompts", nestedPrompts); AddToDictionary(props, "noInputTimeoutMs", NoInputTimeoutMs); AddToDictionary(props, "recognitionTimeoutMs", RecognitionTimeoutMs); AddToDictionary(props, "confidenceThreshold", ConfidenceThreshold); diff --git a/src/freeclimb/Model/IncomingNumberList.cs b/src/freeclimb/Model/IncomingNumberList.cs index 97d6c6a1..62dd7d3a 100644 --- a/src/freeclimb/Model/IncomingNumberList.cs +++ b/src/freeclimb/Model/IncomingNumberList.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedIncomingPhoneNumbers = new List(); if (IncomingPhoneNumbers != null) { foreach (var item in IncomingPhoneNumbers) { - nested.Add(item.ToKvp()); + nestedIncomingPhoneNumbers.Add(item.ToKvp()); } } - AddToDictionary(props, "incomingPhoneNumbers", nested); + AddToDictionary(props, "incomingPhoneNumbers", nestedIncomingPhoneNumbers); return props; } diff --git a/src/freeclimb/Model/IncomingNumberResult.cs b/src/freeclimb/Model/IncomingNumberResult.cs index ef2901eb..a0141c11 100644 --- a/src/freeclimb/Model/IncomingNumberResult.cs +++ b/src/freeclimb/Model/IncomingNumberResult.cs @@ -49,8 +49,6 @@ public partial class IncomingNumberResult : IValidatableObject /// Description for this phone number. Typically the conventionally-formatted version of the phone number.. /// State or province of this phone number.. /// Country of this phone number.. - /// Indicates whether the phone number can handle Calls. Typically set to true for all numbers.. - /// Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers.. /// The offnet field is a boolean representing whether the number is offnet registered or not. This field will be rendered only for requests to the IncomingPhone number resource.. /// tfn. public IncomingNumberResult( @@ -67,8 +65,6 @@ public IncomingNumberResult( string alias = default(string), string region = default(string), string country = default(string), - bool? voiceEnabled = default(bool?), - bool? smsEnabled = default(bool?), bool? offnet = default(bool?), TFN tfn = default(TFN) ) @@ -99,10 +95,6 @@ public IncomingNumberResult( this.Country = country; - this.VoiceEnabled = voiceEnabled; - - this.SmsEnabled = smsEnabled; - this.Offnet = offnet; this.Tfn = tfn; @@ -198,22 +190,6 @@ public IncomingNumberResult( [DataMember(Name = "country", EmitDefaultValue = true)] public string Country { get; set; } - /// - /// Indicates whether the phone number can handle Calls. Typically set to true for all numbers. - /// - /// Indicates whether the phone number can handle Calls. Typically set to true for all numbers. - [DataMember(Name = "voiceEnabled", EmitDefaultValue = true)] - [Obsolete] - public bool? VoiceEnabled { get; set; } - - /// - /// Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers. - /// - /// Indication of whether the phone number can handle sending and receiving SMS messages. Typically set to true for all numbers. - [DataMember(Name = "smsEnabled", EmitDefaultValue = true)] - [Obsolete] - public bool? SmsEnabled { get; set; } - /// /// The offnet field is a boolean representing whether the number is offnet registered or not. This field will be rendered only for requests to the IncomingPhone number resource. /// @@ -248,8 +224,6 @@ public override string ToString() sb.Append(" Alias: ").Append(Alias).Append("\n"); sb.Append(" Region: ").Append(Region).Append("\n"); sb.Append(" Country: ").Append(Country).Append("\n"); - sb.Append(" VoiceEnabled: ").Append(VoiceEnabled).Append("\n"); - sb.Append(" SmsEnabled: ").Append(SmsEnabled).Append("\n"); sb.Append(" Offnet: ").Append(Offnet).Append("\n"); sb.Append(" Tfn: ").Append(Tfn).Append("\n"); sb.Append("}\n"); @@ -289,8 +263,6 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "alias", Alias); AddToDictionary(props, "region", Region); AddToDictionary(props, "country", Country); - AddToDictionary(props, "voiceEnabled", VoiceEnabled); - AddToDictionary(props, "smsEnabled", SmsEnabled); AddToDictionary(props, "offnet", Offnet); AddToDictionary(props, "tfn", Tfn); return props; diff --git a/src/freeclimb/Model/LogList.cs b/src/freeclimb/Model/LogList.cs index c008700d..2aa746c9 100644 --- a/src/freeclimb/Model/LogList.cs +++ b/src/freeclimb/Model/LogList.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedLogs = new List(); if (Logs != null) { foreach (var item in Logs) { - nested.Add(item.ToKvp()); + nestedLogs.Add(item.ToKvp()); } } - AddToDictionary(props, "logs", nested); + AddToDictionary(props, "logs", nestedLogs); return props; } diff --git a/src/freeclimb/Model/MessageRequest.cs b/src/freeclimb/Model/MessageRequest.cs index be03242d..f19fd624 100644 --- a/src/freeclimb/Model/MessageRequest.cs +++ b/src/freeclimb/Model/MessageRequest.cs @@ -215,12 +215,12 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "to", To); AddToDictionary(props, "text", Text); AddToDictionary(props, "notificationUrl", NotificationUrl); - List nested = new List(); + List nestedMediaUrls = new List(); if (MediaUrls != null) { - nested.Add(MediaUrls); + nestedMediaUrls.Add(MediaUrls); } - AddToDictionary(props, "mediaUrls", nested); + AddToDictionary(props, "mediaUrls", nestedMediaUrls); return props; } diff --git a/src/freeclimb/Model/MessageResult.cs b/src/freeclimb/Model/MessageResult.cs index f2803441..79b377b0 100644 --- a/src/freeclimb/Model/MessageResult.cs +++ b/src/freeclimb/Model/MessageResult.cs @@ -313,12 +313,12 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "brandId", BrandId); AddToDictionary(props, "campaignId", CampaignId); AddToDictionary(props, "segmentCount", SegmentCount); - List nested = new List(); + List nestedMediaUrls = new List(); if (MediaUrls != null) { - nested.Add(MediaUrls); + nestedMediaUrls.Add(MediaUrls); } - AddToDictionary(props, "mediaUrls", nested); + AddToDictionary(props, "mediaUrls", nestedMediaUrls); AddToDictionary(props, "tfn", Tfn); AddToDictionary(props, "phoneNumberId", PhoneNumberId); AddToDictionary(props, "applicationId", ApplicationId); diff --git a/src/freeclimb/Model/MessagesList.cs b/src/freeclimb/Model/MessagesList.cs index 2fbda24e..e01d152c 100644 --- a/src/freeclimb/Model/MessagesList.cs +++ b/src/freeclimb/Model/MessagesList.cs @@ -176,15 +176,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedMessages = new List(); if (Messages != null) { foreach (var item in Messages) { - nested.Add(item.ToKvp()); + nestedMessages.Add(item.ToKvp()); } } - AddToDictionary(props, "messages", nested); + AddToDictionary(props, "messages", nestedMessages); return props; } diff --git a/src/freeclimb/Model/ModifyBlobRequest.cs b/src/freeclimb/Model/ModifyBlobRequest.cs new file mode 100644 index 00000000..5bc68684 --- /dev/null +++ b/src/freeclimb/Model/ModifyBlobRequest.cs @@ -0,0 +1,147 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using freeclimb.Enums; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using OpenAPIDateConverter = freeclimb.Client.OpenAPIDateConverter; + +namespace freeclimb.Model +{ + /// + /// ModifyBlobRequest + /// + [DataContract(Name = "ModifyBlobRequest")] + public partial class ModifyBlobRequest : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ModifyBlobRequest() { } + + /// + /// Initializes a new instance of the class. + /// + /// blob (required). + /// Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided.. + public ModifyBlobRequest(Object blob = default(Object), string alias = default(string)) + { + // to ensure "blob" is required (not null) + if (blob == null) + { + throw new ArgumentNullException( + "blob is a required property for ModifyBlobRequest and cannot be null" + ); + } + this.Blob = blob; + + this.Alias = alias; + } + + /// + /// Gets or Sets Blob + /// + [DataMember(Name = "blob", IsRequired = true, EmitDefaultValue = true)] + public Object Blob { get; set; } + + /// + /// Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided. + /// + /// Custom identifier for this blob that is unique for the owning account. It will be set to the blobId by default if not provided. + [DataMember(Name = "alias", EmitDefaultValue = false)] + public string Alias { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ModifyBlobRequest {\n"); + sb.Append(" Blob: ").Append(Blob).Append("\n"); + sb.Append(" Alias: ").Append(Alias).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject( + this, + Newtonsoft.Json.Formatting.Indented, + new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore } + ); + } + + /// + /// Retrieve the KVP Dictionary for the ModifyBlobRequest instance. + /// + /// KVP Dictionary + public virtual IDictionary ToKvp() + { + IDictionary props = new Dictionary(); + AddToDictionary(props, "blob", Blob); + AddToDictionary(props, "alias", Alias); + return props; + } + + private IDictionary AddToDictionary( + IDictionary dict, + string key, + object value + ) + { + if (value != null) + { + dict.Add(key, value); + } + return dict; + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate( + ValidationContext validationContext + ) + { + // Alias (string) maxLength + if (this.Alias != null && this.Alias.Length > 64) + { + yield return new ValidationResult( + "Invalid value for Alias, length must be less than 64.", + new[] { "Alias" } + ); + } + + yield break; + } + } +} diff --git a/src/freeclimb/Model/PerclScript.cs b/src/freeclimb/Model/PerclScript.cs index 960056b9..fa5e7d8b 100644 --- a/src/freeclimb/Model/PerclScript.cs +++ b/src/freeclimb/Model/PerclScript.cs @@ -89,15 +89,15 @@ public virtual string ToJson() public virtual IDictionary ToKvp() { IDictionary props = new Dictionary(); - List nested = new List(); + List nestedCommands = new List(); if (Commands != null) { foreach (var item in Commands) { - nested.Add(item.ToKvp()); + nestedCommands.Add(item.ToKvp()); } } - AddToDictionary(props, "commands", nested); + AddToDictionary(props, "commands", nestedCommands); return props; } diff --git a/src/freeclimb/Model/PlatformError.cs b/src/freeclimb/Model/PlatformError.cs new file mode 100644 index 00000000..16b29157 --- /dev/null +++ b/src/freeclimb/Model/PlatformError.cs @@ -0,0 +1,151 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using freeclimb.Enums; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using OpenAPIDateConverter = freeclimb.Client.OpenAPIDateConverter; + +namespace freeclimb.Model +{ + /// + /// Standard error structure returned by platform. + /// + [DataContract(Name = "PlatformError")] + public partial class PlatformError : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// code. + /// call. + /// url. + /// details. + public PlatformError( + int code = default(int), + string call = default(string), + string url = default(string), + Object details = default(Object) + ) + { + this.Code = code; + + this.Call = call; + + this.Url = url; + + this.Details = details; + } + + /// + /// Gets or Sets Code + /// + [DataMember(Name = "code", EmitDefaultValue = false)] + public int Code { get; set; } + + /// + /// Gets or Sets Call + /// + [DataMember(Name = "call", EmitDefaultValue = false)] + public string Call { get; set; } + + /// + /// Gets or Sets Url + /// + [DataMember(Name = "url", EmitDefaultValue = false)] + public string Url { get; set; } + + /// + /// Gets or Sets Details + /// + [DataMember(Name = "details", EmitDefaultValue = false)] + public Object Details { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class PlatformError {\n"); + sb.Append(" Code: ").Append(Code).Append("\n"); + sb.Append(" Call: ").Append(Call).Append("\n"); + sb.Append(" Url: ").Append(Url).Append("\n"); + sb.Append(" Details: ").Append(Details).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject( + this, + Newtonsoft.Json.Formatting.Indented, + new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore } + ); + } + + /// + /// Retrieve the KVP Dictionary for the PlatformError instance. + /// + /// KVP Dictionary + public virtual IDictionary ToKvp() + { + IDictionary props = new Dictionary(); + AddToDictionary(props, "code", Code); + AddToDictionary(props, "call", Call); + AddToDictionary(props, "url", Url); + AddToDictionary(props, "details", Details); + return props; + } + + private IDictionary AddToDictionary( + IDictionary dict, + string key, + object value + ) + { + if (value != null) + { + dict.Add(key, value); + } + return dict; + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate( + ValidationContext validationContext + ) + { + yield break; + } + } +} diff --git a/src/freeclimb/Model/QueueList.cs b/src/freeclimb/Model/QueueList.cs index d15ec59f..4380f011 100644 --- a/src/freeclimb/Model/QueueList.cs +++ b/src/freeclimb/Model/QueueList.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedQueues = new List(); if (Queues != null) { foreach (var item in Queues) { - nested.Add(item.ToKvp()); + nestedQueues.Add(item.ToKvp()); } } - AddToDictionary(props, "queues", nested); + AddToDictionary(props, "queues", nestedQueues); return props; } diff --git a/src/freeclimb/Model/QueueMemberList.cs b/src/freeclimb/Model/QueueMemberList.cs index 83876461..0ffe5de6 100644 --- a/src/freeclimb/Model/QueueMemberList.cs +++ b/src/freeclimb/Model/QueueMemberList.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedQueueMembers = new List(); if (QueueMembers != null) { foreach (var item in QueueMembers) { - nested.Add(item.ToKvp()); + nestedQueueMembers.Add(item.ToKvp()); } } - AddToDictionary(props, "queueMembers", nested); + AddToDictionary(props, "queueMembers", nestedQueueMembers); return props; } diff --git a/src/freeclimb/Model/RecordingList.cs b/src/freeclimb/Model/RecordingList.cs index 01b5cc0a..e8d47f98 100644 --- a/src/freeclimb/Model/RecordingList.cs +++ b/src/freeclimb/Model/RecordingList.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedRecordings = new List(); if (Recordings != null) { foreach (var item in Recordings) { - nested.Add(item.ToKvp()); + nestedRecordings.Add(item.ToKvp()); } } - AddToDictionary(props, "recordings", nested); + AddToDictionary(props, "recordings", nestedRecordings); return props; } diff --git a/src/freeclimb/Model/ReplaceBlobRequest.cs b/src/freeclimb/Model/ReplaceBlobRequest.cs new file mode 100644 index 00000000..05cd4b2a --- /dev/null +++ b/src/freeclimb/Model/ReplaceBlobRequest.cs @@ -0,0 +1,126 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using freeclimb.Enums; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using OpenAPIDateConverter = freeclimb.Client.OpenAPIDateConverter; + +namespace freeclimb.Model +{ + /// + /// ReplaceBlobRequest + /// + [DataContract(Name = "ReplaceBlobRequest")] + public partial class ReplaceBlobRequest : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ReplaceBlobRequest() { } + + /// + /// Initializes a new instance of the class. + /// + /// blob (required). + public ReplaceBlobRequest(Object blob = default(Object)) + { + // to ensure "blob" is required (not null) + if (blob == null) + { + throw new ArgumentNullException( + "blob is a required property for ReplaceBlobRequest and cannot be null" + ); + } + this.Blob = blob; + } + + /// + /// Gets or Sets Blob + /// + [DataMember(Name = "blob", IsRequired = true, EmitDefaultValue = true)] + public Object Blob { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class ReplaceBlobRequest {\n"); + sb.Append(" Blob: ").Append(Blob).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject( + this, + Newtonsoft.Json.Formatting.Indented, + new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore } + ); + } + + /// + /// Retrieve the KVP Dictionary for the ReplaceBlobRequest instance. + /// + /// KVP Dictionary + public virtual IDictionary ToKvp() + { + IDictionary props = new Dictionary(); + AddToDictionary(props, "blob", Blob); + return props; + } + + private IDictionary AddToDictionary( + IDictionary dict, + string key, + object value + ) + { + if (value != null) + { + dict.Add(key, value); + } + return dict; + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate( + ValidationContext validationContext + ) + { + yield break; + } + } +} diff --git a/src/freeclimb/Model/SMSTenDLCBrandsListResult.cs b/src/freeclimb/Model/SMSTenDLCBrandsListResult.cs index 6cca0bf8..821b90c6 100644 --- a/src/freeclimb/Model/SMSTenDLCBrandsListResult.cs +++ b/src/freeclimb/Model/SMSTenDLCBrandsListResult.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedBrands = new List(); if (Brands != null) { foreach (var item in Brands) { - nested.Add(item.ToKvp()); + nestedBrands.Add(item.ToKvp()); } } - AddToDictionary(props, "brands", nested); + AddToDictionary(props, "brands", nestedBrands); return props; } diff --git a/src/freeclimb/Model/SMSTenDLCCampaign.cs b/src/freeclimb/Model/SMSTenDLCCampaign.cs index 0e93ae9e..aae6e6e8 100644 --- a/src/freeclimb/Model/SMSTenDLCCampaign.cs +++ b/src/freeclimb/Model/SMSTenDLCCampaign.cs @@ -565,12 +565,12 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "billedDate", BilledDate); AddToDictionary(props, "brandId", BrandId); AddToDictionary(props, "usecase", Usecase); - List nested = new List(); + List nestedSubUsecases = new List(); if (SubUsecases != null) { - nested.Add(SubUsecases); + nestedSubUsecases.Add(SubUsecases); } - AddToDictionary(props, "subUsecases", nested); + AddToDictionary(props, "subUsecases", nestedSubUsecases); AddToDictionary(props, "description", Description); AddToDictionary(props, "embeddedLink", EmbeddedLink); AddToDictionary(props, "embeddedPhone", EmbeddedPhone); diff --git a/src/freeclimb/Model/SMSTenDLCCampaignsListResult.cs b/src/freeclimb/Model/SMSTenDLCCampaignsListResult.cs index 3a405362..933c765d 100644 --- a/src/freeclimb/Model/SMSTenDLCCampaignsListResult.cs +++ b/src/freeclimb/Model/SMSTenDLCCampaignsListResult.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedCampaigns = new List(); if (Campaigns != null) { foreach (var item in Campaigns) { - nested.Add(item.ToKvp()); + nestedCampaigns.Add(item.ToKvp()); } } - AddToDictionary(props, "campaigns", nested); + AddToDictionary(props, "campaigns", nestedCampaigns); return props; } diff --git a/src/freeclimb/Model/SMSTenDLCPartnerCampaignsListResult.cs b/src/freeclimb/Model/SMSTenDLCPartnerCampaignsListResult.cs index a35c6197..3db40246 100644 --- a/src/freeclimb/Model/SMSTenDLCPartnerCampaignsListResult.cs +++ b/src/freeclimb/Model/SMSTenDLCPartnerCampaignsListResult.cs @@ -176,15 +176,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedPartnerCampaigns = new List(); if (PartnerCampaigns != null) { foreach (var item in PartnerCampaigns) { - nested.Add(item.ToKvp()); + nestedPartnerCampaigns.Add(item.ToKvp()); } } - AddToDictionary(props, "partnerCampaigns", nested); + AddToDictionary(props, "partnerCampaigns", nestedPartnerCampaigns); return props; } diff --git a/src/freeclimb/Model/SMSTollFreeCampaignsListResult.cs b/src/freeclimb/Model/SMSTollFreeCampaignsListResult.cs index 8f371a7c..e6c94ad4 100644 --- a/src/freeclimb/Model/SMSTollFreeCampaignsListResult.cs +++ b/src/freeclimb/Model/SMSTollFreeCampaignsListResult.cs @@ -175,15 +175,15 @@ public virtual IDictionary ToKvp() AddToDictionary(props, "numPages", NumPages); AddToDictionary(props, "pageSize", PageSize); AddToDictionary(props, "nextPageUri", NextPageUri); - List nested = new List(); + List nestedBrands = new List(); if (Brands != null) { foreach (var item in Brands) { - nested.Add(item.ToKvp()); + nestedBrands.Add(item.ToKvp()); } } - AddToDictionary(props, "brands", nested); + AddToDictionary(props, "brands", nestedBrands); return props; } diff --git a/src/freeclimb/Model/Say.cs b/src/freeclimb/Model/Say.cs index c1697749..f5460597 100644 --- a/src/freeclimb/Model/Say.cs +++ b/src/freeclimb/Model/Say.cs @@ -46,12 +46,14 @@ protected Say() { } /// /// 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. (required). /// 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.. + /// engine. /// Number of times the text is said. Specifying '0' causes the `Say` action to loop until the Call is hung up. (default to 1). /// Parameter `privacyMode` will not log the `text` as required by PCI compliance.. /// Name of PerCL Command (this is automatically derived from mapping configuration and should not be manually supplied in any arguments) (default to "Say"). public Say( string text = default(string), string language = default(string), + TTSEngine engine = default(TTSEngine), int loop = 1, bool privacyMode = default(bool), string command = @"Say" @@ -69,6 +71,8 @@ public Say( this.Language = language; + this.Engine = engine; + this.Loop = loop; this.PrivacyMode = privacyMode; @@ -88,6 +92,12 @@ public Say( [DataMember(Name = "language", EmitDefaultValue = false)] public string Language { get; set; } + /// + /// Gets or Sets Engine + /// + [DataMember(Name = "engine", EmitDefaultValue = false)] + public TTSEngine Engine { get; set; } + /// /// Number of times the text is said. Specifying '0' causes the `Say` action to loop until the Call is hung up. /// @@ -113,6 +123,7 @@ public override string ToString() sb.Append(" ").Append(base.ToString().Replace("\n", "\n ")).Append("\n"); sb.Append(" Text: ").Append(Text).Append("\n"); sb.Append(" Language: ").Append(Language).Append("\n"); + sb.Append(" Engine: ").Append(Engine).Append("\n"); sb.Append(" Loop: ").Append(Loop).Append("\n"); sb.Append(" PrivacyMode: ").Append(PrivacyMode).Append("\n"); sb.Append("}\n"); @@ -141,6 +152,7 @@ public override IDictionary ToKvp() IDictionary props = new Dictionary(); AddToDictionary(props, "text", Text); AddToDictionary(props, "language", Language); + AddToDictionary(props, "engine", Engine); AddToDictionary(props, "loop", Loop); AddToDictionary(props, "privacyMode", PrivacyMode); IDictionary command = new Dictionary(); diff --git a/src/freeclimb/Model/TTSEngine.cs b/src/freeclimb/Model/TTSEngine.cs new file mode 100644 index 00000000..92fd6af5 --- /dev/null +++ b/src/freeclimb/Model/TTSEngine.cs @@ -0,0 +1,128 @@ +/* + * 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. + * + * The version of the OpenAPI document: 1.0.0 + * Contact: support@freeclimb.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using freeclimb.Enums; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using OpenAPIDateConverter = freeclimb.Client.OpenAPIDateConverter; + +namespace freeclimb.Model +{ + /// + /// TTSEngine + /// + [DataContract(Name = "TTSEngine")] + public partial class TTSEngine : IValidatableObject + { + /// + /// Gets or Sets Name + /// + [DataMember(Name = "name", EmitDefaultValue = false)] + public TTSEngineName? Name { get; set; } + + /// + /// Initializes a new instance of the class. + /// + /// name. + /// Parameters for the TTS engine. The parameters are specific to the engine and are documented in the engine's documentation.. + public TTSEngine( + TTSEngineName? name = default(TTSEngineName?), + Dictionary parameters = default(Dictionary) + ) + { + this.Name = name; + + this.Parameters = parameters; + } + + /// + /// Parameters for the TTS engine. The parameters are specific to the engine and are documented in the engine's documentation. + /// + /// Parameters for the TTS engine. The parameters are specific to the engine and are documented in the engine's documentation. + [DataMember(Name = "parameters", EmitDefaultValue = false)] + public Dictionary Parameters { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class TTSEngine {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Parameters: ").Append(Parameters).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject( + this, + Newtonsoft.Json.Formatting.Indented, + new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore } + ); + } + + /// + /// Retrieve the KVP Dictionary for the TTSEngine instance. + /// + /// KVP Dictionary + public virtual IDictionary ToKvp() + { + IDictionary props = new Dictionary(); + AddToDictionary(props, "name", Name); + AddToDictionary(props, "parameters", Parameters); + return props; + } + + private IDictionary AddToDictionary( + IDictionary dict, + string key, + object value + ) + { + if (value != null) + { + dict.Add(key, value); + } + return dict; + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate( + ValidationContext validationContext + ) + { + yield break; + } + } +} diff --git a/src/freeclimb/Model/TranscribeUtterance.cs b/src/freeclimb/Model/TranscribeUtterance.cs index 2ed21d7a..b0b5800e 100644 --- a/src/freeclimb/Model/TranscribeUtterance.cs +++ b/src/freeclimb/Model/TranscribeUtterance.cs @@ -162,15 +162,15 @@ public override IDictionary ToKvp() AddToDictionary(props, "record", Record); AddToDictionary(props, "privacyForLogging", PrivacyForLogging); AddToDictionary(props, "privacyForRecording", PrivacyForRecording); - List nested = new List(); + List nestedPrompts = new List(); if (Prompts != null) { foreach (var item in Prompts) { - nested.Add(item.ToKvp()); + nestedPrompts.Add(item.ToKvp()); } } - AddToDictionary(props, "prompts", nested); + AddToDictionary(props, "prompts", nestedPrompts); IDictionary command = new Dictionary(); command.Add("TranscribeUtterance", props); return command; diff --git a/src/freeclimb/freeclimb.csproj b/src/freeclimb/freeclimb.csproj index 55a9bccf..67814fcb 100644 --- a/src/freeclimb/freeclimb.csproj +++ b/src/freeclimb/freeclimb.csproj @@ -12,7 +12,7 @@ A library generated from a OpenAPI doc No Copyright freeclimb - 5.2.0 + 5.3.0 bin\$(Configuration)\$(TargetFramework)\freeclimb.xml https://github.com/freeclimbapi/csharp-sdk.git git