* Reset password. Applicable only for `REGISTERED` SIP trunks.
*
- * @param sipTrunkId Sip Trunk ID. (required)
+ * @param sipTrunkId SIP trunk ID. (required)
* @return ResetSipTrunkPasswordRequest
*/
public ResetSipTrunkPasswordRequest resetSipTrunkPassword(String sipTrunkId) {
diff --git a/src/main/java/com/infobip/api/EmailApi.java b/src/main/java/com/infobip/api/EmailApi.java
index a46f4ea..92371e7 100644
--- a/src/main/java/com/infobip/api/EmailApi.java
+++ b/src/main/java/com/infobip/api/EmailApi.java
@@ -1949,7 +1949,9 @@ private RequestDefinition sendEmailDefinition(
String applicationId,
String entityId,
String headers,
- String ipPoolId) {
+ String ipPoolId,
+ Boolean skipPassiveStorage,
+ Boolean skipActiveStorage) {
RequestDefinition.Builder builder = RequestDefinition.builder("POST", "/email/3/send")
.requiresAuthentication(true)
.accept("application/json")
@@ -2060,6 +2062,12 @@ private RequestDefinition sendEmailDefinition(
if (ipPoolId != null) {
builder.addFormParameter(new Parameter("ipPoolId", ipPoolId));
}
+ if (skipPassiveStorage != null) {
+ builder.addFormParameter(new Parameter("skipPassiveStorage", skipPassiveStorage));
+ }
+ if (skipActiveStorage != null) {
+ builder.addFormParameter(new Parameter("skipActiveStorage", skipActiveStorage));
+ }
return builder.build();
}
@@ -2102,6 +2110,8 @@ public class SendEmailRequest {
private String entityId;
private String headers;
private String ipPoolId;
+ private Boolean skipPassiveStorage;
+ private Boolean skipActiveStorage;
private SendEmailRequest(List
+ * Adds numbers to campaign that has already been registered. If the campaign registration has not been completed or numbers size exceeds the limit, attempting to update via this api will result in a 400 Bad Request. Numbers which require OSR to be updated in advance could be identified by using Numbers API's \"List owned number\" GET endpoint.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @param numbersUpdateCampaignRegistrationRequest (required)
+ * @return AddNumbersRequest
+ */
+ public AddNumbersRequest addNumbers(
+ UUID campaignId, NumbersUpdateCampaignRegistrationRequest numbersUpdateCampaignRegistrationRequest) {
+ return new AddNumbersRequest(campaignId, numbersUpdateCampaignRegistrationRequest);
+ }
+
+ private RequestDefinition appealCampaignDefinition(UUID campaignId, NumbersAppealRequest numbersAppealRequest) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/campaigns/{campaignId}/appeal")
+ .body(numbersAppealRequest)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * appealCampaign request builder class.
+ */
+ public class AppealCampaignRequest {
+ private final UUID campaignId;
+ private final NumbersAppealRequest numbersAppealRequest;
+
+ private AppealCampaignRequest(UUID campaignId, NumbersAppealRequest numbersAppealRequest) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ this.numbersAppealRequest = Objects.requireNonNull(
+ numbersAppealRequest, "The required parameter 'numbersAppealRequest' is missing.");
+ }
+
+ /**
+ * Executes the appealCampaign request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition appealCampaignDefinition = appealCampaignDefinition(campaignId, numbersAppealRequest);
+ apiClient.execute(appealCampaignDefinition);
+ }
+
+ /**
+ * Executes the appealCampaign request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Appeals a rejected 10DLC campaign within the Infobip platform. Campaigns are eligible for appeal if they were rejected within the past 3 months and can be appealed up to five times.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @param numbersAppealRequest (required)
+ * @return AppealCampaignRequest
+ */
+ public AppealCampaignRequest appealCampaign(UUID campaignId, NumbersAppealRequest numbersAppealRequest) {
+ return new AppealCampaignRequest(campaignId, numbersAppealRequest);
+ }
+
+ private RequestDefinition attachNumberPoolDefinition(
+ UUID campaignId, NumbersAttachNumberPoolRequest numbersAttachNumberPoolRequest) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/campaigns/{campaignId}/number-pool/attach")
+ .body(numbersAttachNumberPoolRequest)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * attachNumberPool request builder class.
+ */
+ public class AttachNumberPoolRequest {
+ private final UUID campaignId;
+ private final NumbersAttachNumberPoolRequest numbersAttachNumberPoolRequest;
+
+ private AttachNumberPoolRequest(
+ UUID campaignId, NumbersAttachNumberPoolRequest numbersAttachNumberPoolRequest) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ this.numbersAttachNumberPoolRequest = Objects.requireNonNull(
+ numbersAttachNumberPoolRequest,
+ "The required parameter 'numbersAttachNumberPoolRequest' is missing.");
+ }
+
+ /**
+ * Executes the attachNumberPool request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition attachNumberPoolDefinition =
+ attachNumberPoolDefinition(campaignId, numbersAttachNumberPoolRequest);
+ apiClient.execute(attachNumberPoolDefinition);
+ }
+
+ /**
+ * Executes the attachNumberPool request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Associates an existing number pool with a campaign. Number pooling is required when a campaign utilizes more than 49 numbers. This is common in high-throughput environments such as call centers. Attaching a number pool ensures proper provisioning and compliance with carrier requirements.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @param numbersAttachNumberPoolRequest (required)
+ * @return AttachNumberPoolRequest
+ */
+ public AttachNumberPoolRequest attachNumberPool(
+ UUID campaignId, NumbersAttachNumberPoolRequest numbersAttachNumberPoolRequest) {
+ return new AttachNumberPoolRequest(campaignId, numbersAttachNumberPoolRequest);
+ }
+
+ private RequestDefinition brandAuthVerificationDefinition(UUID brandId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/brands/{brandId}/brand-auth-verification")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * brandAuthVerification request builder class.
+ */
+ public class BrandAuthVerificationRequest {
+ private final UUID brandId;
+
+ private BrandAuthVerificationRequest(UUID brandId) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ }
+
+ /**
+ * Executes the brandAuthVerification request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition brandAuthVerificationDefinition = brandAuthVerificationDefinition(brandId);
+ apiClient.execute(brandAuthVerificationDefinition);
+ }
+
+ /**
+ * Executes the brandAuthVerification request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Request brand authentication+ verification to finalize brand registration process. This operation can be executed for TENDLC_PUBLIC_COMPANY brand type only when Brand authentication is not in progress.
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @return BrandAuthVerificationRequest
+ */
+ public BrandAuthVerificationRequest brandAuthVerification(UUID brandId) {
+ return new BrandAuthVerificationRequest(brandId);
+ }
+
+ private RequestDefinition cancelNumberDefinition(String numberKey) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("DELETE", "/numbers/1/numbers/{numberKey}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * cancelNumber request builder class.
+ */
+ public class CancelNumberRequest {
+ private final String numberKey;
+
+ private CancelNumberRequest(String numberKey) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ }
+
+ /**
+ * Executes the cancelNumber request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition cancelNumberDefinition = cancelNumberDefinition(numberKey);
+ apiClient.execute(cancelNumberDefinition);
+ }
+
+ /**
+ * Executes the cancelNumber request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * This method will cancel your purchased number. The number you cancel will become available in the numbers pool for anyone to buy.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @return CancelNumberRequest
+ * @see Read more about canceling a number
+ */
+ public CancelNumberRequest cancelNumber(String numberKey) {
+ return new CancelNumberRequest(numberKey);
+ }
+
+ private RequestDefinition createBrandDefinition(NumbersBrand numbersBrand) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("POST", "/number-registration/1/brands")
+ .body(numbersBrand)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ return builder.build();
+ }
+
+ /**
+ * createBrand request builder class.
+ */
+ public class CreateBrandRequest {
+ private final NumbersBrand numbersBrand;
+
+ private CreateBrandRequest(NumbersBrand numbersBrand) {
+ this.numbersBrand =
+ Objects.requireNonNull(numbersBrand, "The required parameter 'numbersBrand' is missing.");
+ }
+
+ /**
+ * Executes the createBrand request.
+ *
+ * @return NumbersBrand The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersBrand execute() throws ApiException {
+ RequestDefinition createBrandDefinition = createBrandDefinition(numbersBrand);
+ return apiClient.execute(createBrandDefinition, new TypeReference
+ * Creates a brand within the Infobip platform. This operation does not register the brand with any registrars. Registration can be done using created brand's ID with the 'Register Brand' endpoint.
+ *
+ * @param numbersBrand (required)
+ * @return CreateBrandRequest
+ */
+ public CreateBrandRequest createBrand(NumbersBrand numbersBrand) {
+ return new CreateBrandRequest(numbersBrand);
+ }
+
+ private RequestDefinition createCampaignDefinition(NumbersCampaign numbersCampaign) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("POST", "/number-registration/1/campaigns")
+ .body(numbersCampaign)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ return builder.build();
+ }
+
+ /**
+ * createCampaign request builder class.
+ */
+ public class CreateCampaignRequest {
+ private final NumbersCampaign numbersCampaign;
+
+ private CreateCampaignRequest(NumbersCampaign numbersCampaign) {
+ this.numbersCampaign =
+ Objects.requireNonNull(numbersCampaign, "The required parameter 'numbersCampaign' is missing.");
+ }
+
+ /**
+ * Executes the createCampaign request.
+ *
+ * @return NumbersCampaign The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersCampaign execute() throws ApiException {
+ RequestDefinition createCampaignDefinition = createCampaignDefinition(numbersCampaign);
+ return apiClient.execute(createCampaignDefinition, new TypeReference
+ * Creates a campaign within the Infobip platform. This operation does not register the campaign with any networks. Registration can be done using created campaign's ID with the 'Register Campaign' endpoint.
+ *
+ * @param numbersCampaign (required)
+ * @return CreateCampaignRequest
+ */
+ public CreateCampaignRequest createCampaign(NumbersCampaign numbersCampaign) {
+ return new CreateCampaignRequest(numbersCampaign);
+ }
+
+ private RequestDefinition createCnamDefinition(String numberKey, CallsCnam callsCnam) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/numbers/2/numbers/{numberKey}/voice/cnam")
+ .body(callsCnam)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * createCnam request builder class.
+ */
+ public class CreateCnamRequest {
+ private final String numberKey;
+ private final CallsCnam callsCnam;
+
+ private CreateCnamRequest(String numberKey, CallsCnam callsCnam) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ this.callsCnam = Objects.requireNonNull(callsCnam, "The required parameter 'callsCnam' is missing.");
+ }
+
+ /**
+ * Executes the createCnam request.
+ *
+ * @return CallsCnam The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsCnam execute() throws ApiException {
+ RequestDefinition createCnamDefinition = createCnamDefinition(numberKey, callsCnam);
+ return apiClient.execute(createCnamDefinition, new TypeReference
+ * Create CNAM configuration. This is currently available only for United States and Canada numbers.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @param callsCnam (required)
+ * @return CreateCnamRequest
+ */
+ public CreateCnamRequest createCnam(String numberKey, CallsCnam callsCnam) {
+ return new CreateCnamRequest(numberKey, callsCnam);
+ }
+
+ private RequestDefinition createEmergencyServiceDefinition(
+ String numberKey, CallsEmergencyAddress callsEmergencyAddress) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/numbers/2/numbers/{numberKey}/voice/emergency-service")
+ .body(callsEmergencyAddress)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * createEmergencyService request builder class.
+ */
+ public class CreateEmergencyServiceRequest {
+ private final String numberKey;
+ private final CallsEmergencyAddress callsEmergencyAddress;
+
+ private CreateEmergencyServiceRequest(String numberKey, CallsEmergencyAddress callsEmergencyAddress) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ this.callsEmergencyAddress = Objects.requireNonNull(
+ callsEmergencyAddress, "The required parameter 'callsEmergencyAddress' is missing.");
+ }
+
+ /**
+ * Executes the createEmergencyService request.
+ *
+ * @return CallsEmergencyAddress The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsEmergencyAddress execute() throws ApiException {
+ RequestDefinition createEmergencyServiceDefinition =
+ createEmergencyServiceDefinition(numberKey, callsEmergencyAddress);
+ return apiClient.execute(
+ createEmergencyServiceDefinition, new TypeReference
+ * Create Emergency Service Address Emergency Service Address allows you to set any physical address in the United States as your address to be transmitted on emergency number calls. This means your calls to the emergency number will route to the closest PSAP (Public Safety Answering Point) to your registered address on our system. That address will also appear on the emergency services operator’s screen when you call.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @param callsEmergencyAddress (required)
+ * @return CreateEmergencyServiceRequest
+ */
+ public CreateEmergencyServiceRequest createEmergencyService(
+ String numberKey, CallsEmergencyAddress callsEmergencyAddress) {
+ return new CreateEmergencyServiceRequest(numberKey, callsEmergencyAddress);
+ }
+
+ private RequestDefinition createRecordingConfigurationDefinition(
+ NumbersNumberConfigurationModel numbersNumberConfigurationModel) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/voice/recording/1/configuration/numbers")
+ .body(numbersNumberConfigurationModel)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ return builder.build();
+ }
+
+ /**
+ * createRecordingConfiguration request builder class.
+ */
+ public class CreateRecordingConfigurationRequest {
+ private final NumbersNumberConfigurationModel numbersNumberConfigurationModel;
+
+ private CreateRecordingConfigurationRequest(NumbersNumberConfigurationModel numbersNumberConfigurationModel) {
+ this.numbersNumberConfigurationModel = Objects.requireNonNull(
+ numbersNumberConfigurationModel,
+ "The required parameter 'numbersNumberConfigurationModel' is missing.");
+ }
+
+ /**
+ * Executes the createRecordingConfiguration request.
+ *
+ * @return NumbersNumberConfigurationModel The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersNumberConfigurationModel execute() throws ApiException {
+ RequestDefinition createRecordingConfigurationDefinition =
+ createRecordingConfigurationDefinition(numbersNumberConfigurationModel);
+ return apiClient.execute(
+ createRecordingConfigurationDefinition,
+ new TypeReference
+ * This method allows you to set up recording configuration for the Voice number that has a `Forward to phone` or `Forward to IP` action enabled. Once you purchase a Voice number and attach a voice action to it, you can make additional recording configuration. Enabling recording on a Voice number means that each call made on this number will be recorded. By default, the recording is disabled on all numbers. **NOTE** Changing an action on a number doesn't disable the recording feature.
+ *
+ * @param numbersNumberConfigurationModel (required)
+ * @return CreateRecordingConfigurationRequest
+ */
+ public CreateRecordingConfigurationRequest createRecordingConfiguration(
+ NumbersNumberConfigurationModel numbersNumberConfigurationModel) {
+ return new CreateRecordingConfigurationRequest(numbersNumberConfigurationModel);
+ }
+
+ private RequestDefinition createTollFreeCampaignDefinition(
+ NumbersTollFreeUnifiedNumberCampaignApiModel numbersTollFreeUnifiedNumberCampaignApiModel) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/campaigns/toll-free")
+ .body(numbersTollFreeUnifiedNumberCampaignApiModel)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ return builder.build();
+ }
+
+ /**
+ * createTollFreeCampaign request builder class.
+ */
+ public class CreateTollFreeCampaignRequest {
+ private final NumbersTollFreeUnifiedNumberCampaignApiModel numbersTollFreeUnifiedNumberCampaignApiModel;
+
+ private CreateTollFreeCampaignRequest(
+ NumbersTollFreeUnifiedNumberCampaignApiModel numbersTollFreeUnifiedNumberCampaignApiModel) {
+ this.numbersTollFreeUnifiedNumberCampaignApiModel = Objects.requireNonNull(
+ numbersTollFreeUnifiedNumberCampaignApiModel,
+ "The required parameter 'numbersTollFreeUnifiedNumberCampaignApiModel' is missing.");
+ }
+
+ /**
+ * Executes the createTollFreeCampaign request.
+ *
+ * @return NumbersTollFreeUnifiedNumberCampaignApiModel The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersTollFreeUnifiedNumberCampaignApiModel execute() throws ApiException {
+ RequestDefinition createTollFreeCampaignDefinition =
+ createTollFreeCampaignDefinition(numbersTollFreeUnifiedNumberCampaignApiModel);
+ return apiClient.execute(
+ createTollFreeCampaignDefinition,
+ new TypeReference
+ * Creates a toll free campaign within the Infobip platform.
+ *
+ * @param numbersTollFreeUnifiedNumberCampaignApiModel (required)
+ * @return CreateTollFreeCampaignRequest
+ */
+ public CreateTollFreeCampaignRequest createTollFreeCampaign(
+ NumbersTollFreeUnifiedNumberCampaignApiModel numbersTollFreeUnifiedNumberCampaignApiModel) {
+ return new CreateTollFreeCampaignRequest(numbersTollFreeUnifiedNumberCampaignApiModel);
+ }
+
+ private RequestDefinition createVoiceSetupOnNumberDefinition(
+ String numberKey, NumbersVoiceSetup numbersVoiceSetup) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("POST", "/numbers/2/numbers/{numberKey}/voice")
+ .body(numbersVoiceSetup)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * createVoiceSetupOnNumber request builder class.
+ */
+ public class CreateVoiceSetupOnNumberRequest {
+ private final String numberKey;
+ private final NumbersVoiceSetup numbersVoiceSetup;
+
+ private CreateVoiceSetupOnNumberRequest(String numberKey, NumbersVoiceSetup numbersVoiceSetup) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ this.numbersVoiceSetup =
+ Objects.requireNonNull(numbersVoiceSetup, "The required parameter 'numbersVoiceSetup' is missing.");
+ }
+
+ /**
+ * Executes the createVoiceSetupOnNumber request.
+ *
+ * @return NumbersVoiceSetup The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersVoiceSetup execute() throws ApiException {
+ RequestDefinition createVoiceSetupOnNumberDefinition =
+ createVoiceSetupOnNumberDefinition(numberKey, numbersVoiceSetup);
+ return apiClient.execute(
+ createVoiceSetupOnNumberDefinition, new TypeReference
+ * This method will create a new voice setup on a number. There can be only one voice action set for the number.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @param numbersVoiceSetup voiceSetupRequest (required)
+ * @return CreateVoiceSetupOnNumberRequest
+ */
+ public CreateVoiceSetupOnNumberRequest createVoiceSetupOnNumber(
+ String numberKey, NumbersVoiceSetup numbersVoiceSetup) {
+ return new CreateVoiceSetupOnNumberRequest(numberKey, numbersVoiceSetup);
+ }
+
+ private RequestDefinition deleteBrandDefinition(UUID brandId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "DELETE", "/number-registration/1/brands/{brandId}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * deleteBrand request builder class.
+ */
+ public class DeleteBrandRequest {
+ private final UUID brandId;
+
+ private DeleteBrandRequest(UUID brandId) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ }
+
+ /**
+ * Executes the deleteBrand request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition deleteBrandDefinition = deleteBrandDefinition(brandId);
+ apiClient.execute(deleteBrandDefinition);
+ }
+
+ /**
+ * Executes the deleteBrand request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Removes a previously created brand by its ID. This operation is only supported if all associated campaigns are in a stage that allows deletion (applies to vetted and non-vetted brands).
+ *
+ * @param brandId The ID of the brand to delete. (required)
+ * @return DeleteBrandRequest
+ */
+ public DeleteBrandRequest deleteBrand(UUID brandId) {
+ return new DeleteBrandRequest(brandId);
+ }
+
+ private RequestDefinition deleteCampaignDefinition(UUID campaignId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "DELETE", "/number-registration/1/campaigns/{campaignId}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * deleteCampaign request builder class.
+ */
+ public class DeleteCampaignRequest {
+ private final UUID campaignId;
+
+ private DeleteCampaignRequest(UUID campaignId) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ }
+
+ /**
+ * Executes the deleteCampaign request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition deleteCampaignDefinition = deleteCampaignDefinition(campaignId);
+ apiClient.execute(deleteCampaignDefinition);
+ }
+
+ /**
+ * Executes the deleteCampaign request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Removes a previously created campaign by its ID. This operation is only supported for campaigns that are in DRAFT, DEREGISTERED or REJECTED stage.
+ *
+ * @param campaignId The ID of the campaign to delete. (required)
+ * @return DeleteCampaignRequest
+ */
+ public DeleteCampaignRequest deleteCampaign(UUID campaignId) {
+ return new DeleteCampaignRequest(campaignId);
+ }
+
+ private RequestDefinition deleteCnamDefinition(String numberKey) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "DELETE", "/numbers/2/numbers/{numberKey}/voice/cnam")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * deleteCnam request builder class.
+ */
+ public class DeleteCnamRequest {
+ private final String numberKey;
+
+ private DeleteCnamRequest(String numberKey) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ }
+
+ /**
+ * Executes the deleteCnam request.
+ *
+ * @return CallsCnam The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsCnam execute() throws ApiException {
+ RequestDefinition deleteCnamDefinition = deleteCnamDefinition(numberKey);
+ return apiClient.execute(deleteCnamDefinition, new TypeReference
+ * Delete CNAM configuration.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @return DeleteCnamRequest
+ */
+ public DeleteCnamRequest deleteCnam(String numberKey) {
+ return new DeleteCnamRequest(numberKey);
+ }
+
+ private RequestDefinition deleteEmergencyServiceDefinition(String numberKey) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "DELETE", "/numbers/2/numbers/{numberKey}/voice/emergency-service")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * deleteEmergencyService request builder class.
+ */
+ public class DeleteEmergencyServiceRequest {
+ private final String numberKey;
+
+ private DeleteEmergencyServiceRequest(String numberKey) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ }
+
+ /**
+ * Executes the deleteEmergencyService request.
+ *
+ * @return CallsEmergencyAddress The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsEmergencyAddress execute() throws ApiException {
+ RequestDefinition deleteEmergencyServiceDefinition = deleteEmergencyServiceDefinition(numberKey);
+ return apiClient.execute(
+ deleteEmergencyServiceDefinition, new TypeReference
+ * Delete a Emergency Service Address
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @return DeleteEmergencyServiceRequest
+ */
+ public DeleteEmergencyServiceRequest deleteEmergencyService(String numberKey) {
+ return new DeleteEmergencyServiceRequest(numberKey);
+ }
+
+ private RequestDefinition deleteVoiceSetupOnNumberDefinition(String numberKey) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("DELETE", "/numbers/2/numbers/{numberKey}/voice")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * deleteVoiceSetupOnNumber request builder class.
+ */
+ public class DeleteVoiceSetupOnNumberRequest {
+ private final String numberKey;
+
+ private DeleteVoiceSetupOnNumberRequest(String numberKey) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ }
+
+ /**
+ * Executes the deleteVoiceSetupOnNumber request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition deleteVoiceSetupOnNumberDefinition = deleteVoiceSetupOnNumberDefinition(numberKey);
+ apiClient.execute(deleteVoiceSetupOnNumberDefinition);
+ }
+
+ /**
+ * Executes the deleteVoiceSetupOnNumber request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * This method removes voice setup from a number.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @return DeleteVoiceSetupOnNumberRequest
+ */
+ public DeleteVoiceSetupOnNumberRequest deleteVoiceSetupOnNumber(String numberKey) {
+ return new DeleteVoiceSetupOnNumberRequest(numberKey);
+ }
+
+ private RequestDefinition deregisterCampaignDefinition(UUID campaignId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/campaigns/{campaignId}/deregister")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * deregisterCampaign request builder class.
+ */
+ public class DeregisterCampaignRequest {
+ private final UUID campaignId;
+
+ private DeregisterCampaignRequest(UUID campaignId) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ }
+
+ /**
+ * Executes the deregisterCampaign request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition deregisterCampaignDefinition = deregisterCampaignDefinition(campaignId);
+ apiClient.execute(deregisterCampaignDefinition);
+ }
+
+ /**
+ * Executes the deregisterCampaign request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Deregisters the campaign with the given ID with all available networks.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @return DeregisterCampaignRequest
+ */
+ public DeregisterCampaignRequest deregisterCampaign(UUID campaignId) {
+ return new DeregisterCampaignRequest(campaignId);
+ }
+
+ private RequestDefinition detachNumberPoolDefinition(UUID campaignId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/campaigns/{campaignId}/number-pool/detach")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * detachNumberPool request builder class.
+ */
+ public class DetachNumberPoolRequest {
+ private final UUID campaignId;
+
+ private DetachNumberPoolRequest(UUID campaignId) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ }
+
+ /**
+ * Executes the detachNumberPool request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition detachNumberPoolDefinition = detachNumberPoolDefinition(campaignId);
+ apiClient.execute(detachNumberPoolDefinition);
+ }
+
+ /**
+ * Executes the detachNumberPool request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Detaches an existing number pool from the specified campaign. This operation is subject to validation: the campaign must have fewer than 50 assigned numbers at the time of detachment.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @return DetachNumberPoolRequest
+ */
+ public DetachNumberPoolRequest detachNumberPool(UUID campaignId) {
+ return new DetachNumberPoolRequest(campaignId);
+ }
+
+ private RequestDefinition downloadDocumentContentDefinition(UUID documentId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/number-registration/1/documents/{documentId}")
+ .requiresAuthentication(true)
+ .accept("application/octet-stream");
+
+ if (documentId != null) {
+ builder.addPathParameter(new Parameter("documentId", documentId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * downloadDocumentContent request builder class.
+ */
+ public class DownloadDocumentContentRequest {
+ private final UUID documentId;
+
+ private DownloadDocumentContentRequest(UUID documentId) {
+ this.documentId = Objects.requireNonNull(documentId, "The required parameter 'documentId' is missing.");
+ }
+
+ /**
+ * Executes the downloadDocumentContent request.
+ *
+ * @return File The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public File execute() throws ApiException {
+ RequestDefinition downloadDocumentContentDefinition = downloadDocumentContentDefinition(documentId);
+ return apiClient.execute(downloadDocumentContentDefinition, new TypeReference
+ * Downloads a document file by its unique identifier. Access to the document is restricted based on account ownership.
+ *
+ * @param documentId Unique identifier for the document. (required)
+ * @return DownloadDocumentContentRequest
+ */
+ public DownloadDocumentContentRequest downloadDocumentContent(UUID documentId) {
+ return new DownloadDocumentContentRequest(documentId);
+ }
+
+ private RequestDefinition getAiReviewResultsDefinition(UUID requestUuid) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/number-registration/1/automatic-review/{requestUuid}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (requestUuid != null) {
+ builder.addPathParameter(new Parameter("requestUuid", requestUuid));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getAiReviewResults request builder class.
+ */
+ public class GetAiReviewResultsRequest {
+ private final UUID requestUuid;
+
+ private GetAiReviewResultsRequest(UUID requestUuid) {
+ this.requestUuid = Objects.requireNonNull(requestUuid, "The required parameter 'requestUuid' is missing.");
+ }
+
+ /**
+ * Executes the getAiReviewResults request.
+ *
+ * @return NumbersExternalAutomaticReviewResults The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersExternalAutomaticReviewResults execute() throws ApiException {
+ RequestDefinition getAiReviewResultsDefinition = getAiReviewResultsDefinition(requestUuid);
+ return apiClient.execute(
+ getAiReviewResultsDefinition,
+ new TypeReference
+ * Retrieves the results of a campaign AI compliance review by its request UUID. Contact your account manager to learn more.
+ *
+ * @param requestUuid The UUID of the AI review request. (required)
+ * @return GetAiReviewResultsRequest
+ */
+ public GetAiReviewResultsRequest getAiReviewResults(UUID requestUuid) {
+ return new GetAiReviewResultsRequest(requestUuid);
+ }
+
+ private RequestDefinition getBrandDefinition(UUID brandId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("GET", "/number-registration/1/brands/{brandId}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getBrand request builder class.
+ */
+ public class GetBrandRequest {
+ private final UUID brandId;
+
+ private GetBrandRequest(UUID brandId) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ }
+
+ /**
+ * Executes the getBrand request.
+ *
+ * @return NumbersBrand The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersBrand execute() throws ApiException {
+ RequestDefinition getBrandDefinition = getBrandDefinition(brandId);
+ return apiClient.execute(getBrandDefinition, new TypeReference
+ * Retrieves a previously created brand by its ID.
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @return GetBrandRequest
+ */
+ public GetBrandRequest getBrand(UUID brandId) {
+ return new GetBrandRequest(brandId);
+ }
+
+ private RequestDefinition getBrandEnhancedVetReportDefinition(UUID brandId, UUID vetId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/number-registration/1/brands/{brandId}/vets/{vetId}/report")
+ .requiresAuthentication(true)
+ .accept("application/octet-stream");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ if (vetId != null) {
+ builder.addPathParameter(new Parameter("vetId", vetId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getBrandEnhancedVetReport request builder class.
+ */
+ public class GetBrandEnhancedVetReportRequest {
+ private final UUID brandId;
+ private final UUID vetId;
+
+ private GetBrandEnhancedVetReportRequest(UUID brandId, UUID vetId) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ this.vetId = Objects.requireNonNull(vetId, "The required parameter 'vetId' is missing.");
+ }
+
+ /**
+ * Executes the getBrandEnhancedVetReport request.
+ *
+ * @return File The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public File execute() throws ApiException {
+ RequestDefinition getBrandEnhancedVetReportDefinition = getBrandEnhancedVetReportDefinition(brandId, vetId);
+ return apiClient.execute(getBrandEnhancedVetReportDefinition, new TypeReference
+ * Retrieves brand enhanced vet report by given vetId.
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @param vetId The ID of the desired vet. (required)
+ * @return GetBrandEnhancedVetReportRequest
+ */
+ public GetBrandEnhancedVetReportRequest getBrandEnhancedVetReport(UUID brandId, UUID vetId) {
+ return new GetBrandEnhancedVetReportRequest(brandId, vetId);
+ }
+
+ private RequestDefinition getBrandRegistrarStatusesDefinition(UUID brandId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/number-registration/1/brands/{brandId}/registrar-statuses")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getBrandRegistrarStatuses request builder class.
+ */
+ public class GetBrandRegistrarStatusesRequest {
+ private final UUID brandId;
+
+ private GetBrandRegistrarStatusesRequest(UUID brandId) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ }
+
+ /**
+ * Executes the getBrandRegistrarStatuses request.
+ *
+ * @return List<NumbersBrandStatus> The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public List
+ * Retrieves status of a registered brand for each registrar.
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @return GetBrandRegistrarStatusesRequest
+ */
+ public GetBrandRegistrarStatusesRequest getBrandRegistrarStatuses(UUID brandId) {
+ return new GetBrandRegistrarStatusesRequest(brandId);
+ }
+
+ private RequestDefinition getBrandVetDefinition(UUID brandId, UUID vetId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/number-registration/1/brands/{brandId}/vets/{vetId}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ if (vetId != null) {
+ builder.addPathParameter(new Parameter("vetId", vetId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getBrandVet request builder class.
+ */
+ public class GetBrandVetRequest {
+ private final UUID brandId;
+ private final UUID vetId;
+
+ private GetBrandVetRequest(UUID brandId, UUID vetId) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ this.vetId = Objects.requireNonNull(vetId, "The required parameter 'vetId' is missing.");
+ }
+
+ /**
+ * Executes the getBrandVet request.
+ *
+ * @return NumbersBrandVet The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersBrandVet execute() throws ApiException {
+ RequestDefinition getBrandVetDefinition = getBrandVetDefinition(brandId, vetId);
+ return apiClient.execute(getBrandVetDefinition, new TypeReference
+ * Retrieves brand vet done for the brand with the given ID.
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @param vetId The ID of the desired vet. (required)
+ * @return GetBrandVetRequest
+ */
+ public GetBrandVetRequest getBrandVet(UUID brandId, UUID vetId) {
+ return new GetBrandVetRequest(brandId, vetId);
+ }
+
+ private RequestDefinition getBrandVetsDefinition(UUID brandId, Integer page, Integer size, List
+ * Retrieves all vets done for the brand with the given ID.
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @return GetBrandVetsRequest
+ */
+ public GetBrandVetsRequest getBrandVets(UUID brandId) {
+ return new GetBrandVetsRequest(brandId);
+ }
+
+ private RequestDefinition getBrandsDefinition(
+ List
+ * Get a page of brands, using query parameters to filter results.
+ *
+ * @return GetBrandsRequest
+ */
+ public GetBrandsRequest getBrands() {
+ return new GetBrandsRequest();
+ }
+
+ private RequestDefinition getCampaignDefinition(UUID campaignId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/number-registration/1/campaigns/{campaignId}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getCampaign request builder class.
+ */
+ public class GetCampaignRequest {
+ private final UUID campaignId;
+
+ private GetCampaignRequest(UUID campaignId) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ }
+
+ /**
+ * Executes the getCampaign request.
+ *
+ * @return NumbersCampaign The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersCampaign execute() throws ApiException {
+ RequestDefinition getCampaignDefinition = getCampaignDefinition(campaignId);
+ return apiClient.execute(getCampaignDefinition, new TypeReference
+ * Retrieves a previously created campaign by its ID.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @return GetCampaignRequest
+ */
+ public GetCampaignRequest getCampaign(UUID campaignId) {
+ return new GetCampaignRequest(campaignId);
+ }
+
+ private RequestDefinition getCampaignNetworkStatusesDefinition(UUID campaignId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/number-registration/1/campaigns/{campaignId}/network-statuses")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getCampaignNetworkStatuses request builder class.
+ */
+ public class GetCampaignNetworkStatusesRequest {
+ private final UUID campaignId;
+
+ private GetCampaignNetworkStatusesRequest(UUID campaignId) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ }
+
+ /**
+ * Executes the getCampaignNetworkStatuses request.
+ *
+ * @return NumbersNetworkStatus The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersNetworkStatus execute() throws ApiException {
+ RequestDefinition getCampaignNetworkStatusesDefinition = getCampaignNetworkStatusesDefinition(campaignId);
+ return apiClient.execute(
+ getCampaignNetworkStatusesDefinition, new TypeReference
+ * Retrieves status of a registered campaign for each network.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @return GetCampaignNetworkStatusesRequest
+ */
+ public GetCampaignNetworkStatusesRequest getCampaignNetworkStatuses(UUID campaignId) {
+ return new GetCampaignNetworkStatusesRequest(campaignId);
+ }
+
+ private RequestDefinition getCampaignNumbersDefinition(UUID campaignId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/number-registration/1/campaigns/{campaignId}/numbers")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getCampaignNumbers request builder class.
+ */
+ public class GetCampaignNumbersRequest {
+ private final UUID campaignId;
+
+ private GetCampaignNumbersRequest(UUID campaignId) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ }
+
+ /**
+ * Executes the getCampaignNumbers request.
+ *
+ * @return NumbersNumberPreviews The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersNumberPreviews execute() throws ApiException {
+ RequestDefinition getCampaignNumbersDefinition = getCampaignNumbersDefinition(campaignId);
+ return apiClient.execute(
+ getCampaignNumbersDefinition, new TypeReference
+ * Retrieves all the numbers associated with a campaign, regardless of the stage, by its ID.
+ *
+ * @param campaignId The ID of the campaign for which the numbers should be fetched. (required)
+ * @return GetCampaignNumbersRequest
+ */
+ public GetCampaignNumbersRequest getCampaignNumbers(UUID campaignId) {
+ return new GetCampaignNumbersRequest(campaignId);
+ }
+
+ private RequestDefinition getCampaignPrioritiesDefinition() {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/number-registration/1/campaigns/priorities")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ return builder.build();
+ }
+
+ /**
+ * getCampaignPriorities request builder class.
+ */
+ public class GetCampaignPrioritiesRequest {
+
+ private GetCampaignPrioritiesRequest() {}
+
+ /**
+ * Executes the getCampaignPriorities request.
+ *
+ * @return NumbersPriority The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersPriority execute() throws ApiException {
+ RequestDefinition getCampaignPrioritiesDefinition = getCampaignPrioritiesDefinition();
+ return apiClient.execute(
+ getCampaignPrioritiesDefinition, new TypeReference
+ * Retrieves campaign priority levels for your account(if applicable). Please contact your account manager to learn more about priorities.
+ *
+ * @return GetCampaignPrioritiesRequest
+ */
+ public GetCampaignPrioritiesRequest getCampaignPriorities() {
+ return new GetCampaignPrioritiesRequest();
+ }
+
+ private RequestDefinition getCampaignsDefinition(
+ List
+ * Gets a page of campaigns, using query parameters to filter results.
+ *
+ * @return GetCampaignsRequest
+ */
+ public GetCampaignsRequest getCampaigns() {
+ return new GetCampaignsRequest();
+ }
+
+ private RequestDefinition getCnamDefinition(String numberKey) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/numbers/2/numbers/{numberKey}/voice/cnam")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getCnam request builder class.
+ */
+ public class GetCnamRequest {
+ private final String numberKey;
+
+ private GetCnamRequest(String numberKey) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ }
+
+ /**
+ * Executes the getCnam request.
+ *
+ * @return CallsCnam The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsCnam execute() throws ApiException {
+ RequestDefinition getCnamDefinition = getCnamDefinition(numberKey);
+ return apiClient.execute(getCnamDefinition, new TypeReference
+ * Get CNAM configuration.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @return GetCnamRequest
+ */
+ public GetCnamRequest getCnam(String numberKey) {
+ return new GetCnamRequest(numberKey);
+ }
+
+ private RequestDefinition getCnamStatusDefinition(String numberKey) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/numbers/2/numbers/{numberKey}/voice/cnam/status")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getCnamStatus request builder class.
+ */
+ public class GetCnamStatusRequest {
+ private final String numberKey;
+
+ private GetCnamStatusRequest(String numberKey) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ }
+
+ /**
+ * Executes the getCnamStatus request.
+ *
+ * @return CallsPublicCnamStatus The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsPublicCnamStatus execute() throws ApiException {
+ RequestDefinition getCnamStatusDefinition = getCnamStatusDefinition(numberKey);
+ return apiClient.execute(getCnamStatusDefinition, new TypeReference
+ * Get a CNAM configuration status.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @return GetCnamStatusRequest
+ */
+ public GetCnamStatusRequest getCnamStatus(String numberKey) {
+ return new GetCnamStatusRequest(numberKey);
+ }
+
+ private RequestDefinition getEmergencyServiceDefinition(String numberKey) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/numbers/2/numbers/{numberKey}/voice/emergency-service")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getEmergencyService request builder class.
+ */
+ public class GetEmergencyServiceRequest {
+ private final String numberKey;
+
+ private GetEmergencyServiceRequest(String numberKey) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ }
+
+ /**
+ * Executes the getEmergencyService request.
+ *
+ * @return CallsEmergencyAddress The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsEmergencyAddress execute() throws ApiException {
+ RequestDefinition getEmergencyServiceDefinition = getEmergencyServiceDefinition(numberKey);
+ return apiClient.execute(
+ getEmergencyServiceDefinition, new TypeReference
+ * Get a Emergency Service Address
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @return GetEmergencyServiceRequest
+ */
+ public GetEmergencyServiceRequest getEmergencyService(String numberKey) {
+ return new GetEmergencyServiceRequest(numberKey);
+ }
+
+ private RequestDefinition getEmergencyServiceStatusDefinition(String numberKey) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/numbers/2/numbers/{numberKey}/voice/emergency-service/status")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getEmergencyServiceStatus request builder class.
+ */
+ public class GetEmergencyServiceStatusRequest {
+ private final String numberKey;
+
+ private GetEmergencyServiceStatusRequest(String numberKey) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ }
+
+ /**
+ * Executes the getEmergencyServiceStatus request.
+ *
+ * @return CallsEmergencyAddressStatus The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsEmergencyAddressStatus execute() throws ApiException {
+ RequestDefinition getEmergencyServiceStatusDefinition = getEmergencyServiceStatusDefinition(numberKey);
+ return apiClient.execute(
+ getEmergencyServiceStatusDefinition, new TypeReference
+ * Get a Emergency Service Address status.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @return GetEmergencyServiceStatusRequest
+ */
+ public GetEmergencyServiceStatusRequest getEmergencyServiceStatus(String numberKey) {
+ return new GetEmergencyServiceStatusRequest(numberKey);
+ }
+
+ private RequestDefinition getOwnedNumberPoolsDefinition(
+ NumbersNumberPoolAvailability availability, String registrarRecordId, Integer page, Integer size) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("GET", "/number-registration/1/number-pools")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (availability != null) {
+ builder.addQueryParameter(new Parameter("availability", availability));
+ }
+ if (registrarRecordId != null) {
+ builder.addQueryParameter(new Parameter("registrarRecordId", registrarRecordId));
+ }
+ if (page != null) {
+ builder.addQueryParameter(new Parameter("page", page));
+ }
+ if (size != null) {
+ builder.addQueryParameter(new Parameter("size", size));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getOwnedNumberPools request builder class.
+ */
+ public class GetOwnedNumberPoolsRequest {
+ private NumbersNumberPoolAvailability availability;
+ private String registrarRecordId;
+ private Integer page;
+ private Integer size;
+
+ private GetOwnedNumberPoolsRequest() {}
+
+ /**
+ * Sets availability.
+ *
+ * @param availability Filters number pools to those that match the supplied availability. (optional)
+ * @return GetOwnedNumberPoolsRequest
+ */
+ public GetOwnedNumberPoolsRequest availability(NumbersNumberPoolAvailability availability) {
+ this.availability = availability;
+ return this;
+ }
+
+ /**
+ * Sets registrarRecordId.
+ *
+ * @param registrarRecordId Filters number pools to those that match the supplied referenceId. (optional)
+ * @return GetOwnedNumberPoolsRequest
+ */
+ public GetOwnedNumberPoolsRequest registrarRecordId(String registrarRecordId) {
+ this.registrarRecordId = registrarRecordId;
+ return this;
+ }
+
+ /**
+ * Sets page.
+ *
+ * @param page Results page you want to retrieve (0..N). The default value is 0. (optional)
+ * @return GetOwnedNumberPoolsRequest
+ */
+ public GetOwnedNumberPoolsRequest page(Integer page) {
+ this.page = page;
+ return this;
+ }
+
+ /**
+ * Sets size.
+ *
+ * @param size Number of records per page (0..2000). The default value is 10. The maximum value is 1000. (optional)
+ * @return GetOwnedNumberPoolsRequest
+ */
+ public GetOwnedNumberPoolsRequest size(Integer size) {
+ this.size = size;
+ return this;
+ }
+
+ /**
+ * Executes the getOwnedNumberPools request.
+ *
+ * @return NumbersNumberPoolUsageApiPageResponse The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersNumberPoolUsageApiPageResponse execute() throws ApiException {
+ RequestDefinition getOwnedNumberPoolsDefinition =
+ getOwnedNumberPoolsDefinition(availability, registrarRecordId, page, size);
+ return apiClient.execute(
+ getOwnedNumberPoolsDefinition,
+ new TypeReference
+ * Returns a paginated list of number pools owned by the authenticated account.
+ *
+ * @return GetOwnedNumberPoolsRequest
+ */
+ public GetOwnedNumberPoolsRequest getOwnedNumberPools() {
+ return new GetOwnedNumberPoolsRequest();
+ }
+
+ private RequestDefinition getSingleOwnedNumberDefinition(String numberKey) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("GET", "/numbers/1/numbers/{numberKey}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getSingleOwnedNumber request builder class.
+ */
+ public class GetSingleOwnedNumberRequest {
+ private final String numberKey;
+
+ private GetSingleOwnedNumberRequest(String numberKey) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ }
+
+ /**
+ * Executes the getSingleOwnedNumber request.
+ *
+ * @return NumbersNumberResponse The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersNumberResponse execute() throws ApiException {
+ RequestDefinition getSingleOwnedNumberDefinition = getSingleOwnedNumberDefinition(numberKey);
+ return apiClient.execute(
+ getSingleOwnedNumberDefinition, new TypeReference
+ * Get information about an owned number using the unique ID of the number.
+ *
+ * @param numberKey The unique ID of the number for which information is requested. (required)
+ * @return GetSingleOwnedNumberRequest
+ */
+ public GetSingleOwnedNumberRequest getSingleOwnedNumber(String numberKey) {
+ return new GetSingleOwnedNumberRequest(numberKey);
+ }
+
+ private RequestDefinition getVoiceSetupOnNumberDefinition(String numberKey) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("GET", "/numbers/2/numbers/{numberKey}/voice")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * getVoiceSetupOnNumber request builder class.
+ */
+ public class GetVoiceSetupOnNumberRequest {
+ private final String numberKey;
+
+ private GetVoiceSetupOnNumberRequest(String numberKey) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ }
+
+ /**
+ * Executes the getVoiceSetupOnNumber request.
+ *
+ * @return NumbersVoiceSetup The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersVoiceSetup execute() throws ApiException {
+ RequestDefinition getVoiceSetupOnNumberDefinition = getVoiceSetupOnNumberDefinition(numberKey);
+ return apiClient.execute(
+ getVoiceSetupOnNumberDefinition, new TypeReference
+ * This method fetches the voice setup on a number.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @return GetVoiceSetupOnNumberRequest
+ */
+ public GetVoiceSetupOnNumberRequest getVoiceSetupOnNumber(String numberKey) {
+ return new GetVoiceSetupOnNumberRequest(numberKey);
+ }
+
+ private RequestDefinition importExistingBrandVetDefinition(
+ UUID brandId, NumbersVetImportRequest numbersVetImportRequest) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "PUT", "/number-registration/1/brands/{brandId}/vets/import")
+ .body(numbersVetImportRequest)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * importExistingBrandVet request builder class.
+ */
+ public class ImportExistingBrandVetRequest {
+ private final UUID brandId;
+ private final NumbersVetImportRequest numbersVetImportRequest;
+
+ private ImportExistingBrandVetRequest(UUID brandId, NumbersVetImportRequest numbersVetImportRequest) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ this.numbersVetImportRequest = Objects.requireNonNull(
+ numbersVetImportRequest, "The required parameter 'numbersVetImportRequest' is missing.");
+ }
+
+ /**
+ * Executes the importExistingBrandVet request.
+ *
+ * @return NumbersBrandVet The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersBrandVet execute() throws ApiException {
+ RequestDefinition importExistingBrandVetDefinition =
+ importExistingBrandVetDefinition(brandId, numbersVetImportRequest);
+ return apiClient.execute(
+ importExistingBrandVetDefinition, new TypeReference
+ * Imports Existing Brand Vet provider
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @param numbersVetImportRequest (required)
+ * @return ImportExistingBrandVetRequest
+ */
+ public ImportExistingBrandVetRequest importExistingBrandVet(
+ UUID brandId, NumbersVetImportRequest numbersVetImportRequest) {
+ return new ImportExistingBrandVetRequest(brandId, numbersVetImportRequest);
+ }
+
+ private RequestDefinition listOwnedNumbersDefinition(Integer limit, String number, Integer page) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("GET", "/numbers/1/numbers")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (limit != null) {
+ builder.addQueryParameter(new Parameter("limit", limit));
+ }
+ if (number != null) {
+ builder.addQueryParameter(new Parameter("number", number));
+ }
+ if (page != null) {
+ builder.addQueryParameter(new Parameter("page", page));
+ }
+ return builder.build();
+ }
+
+ /**
+ * listOwnedNumbers request builder class.
+ */
+ public class ListOwnedNumbersRequest {
+ private Integer limit;
+ private String number;
+ private Integer page;
+
+ private ListOwnedNumbersRequest() {}
+
+ /**
+ * Sets limit.
+ *
+ * @param limit Number of records returned per page. (optional, default to 50)
+ * @return ListOwnedNumbersRequest
+ */
+ public ListOwnedNumbersRequest limit(Integer limit) {
+ this.limit = limit;
+ return this;
+ }
+
+ /**
+ * Sets number.
+ *
+ * @param number Searched number. (optional)
+ * @return ListOwnedNumbersRequest
+ */
+ public ListOwnedNumbersRequest number(String number) {
+ this.number = number;
+ return this;
+ }
+
+ /**
+ * Sets page.
+ *
+ * @param page Page number. Use with `limit` for paging purposes. (optional, default to 0)
+ * @return ListOwnedNumbersRequest
+ */
+ public ListOwnedNumbersRequest page(Integer page) {
+ this.page = page;
+ return this;
+ }
+
+ /**
+ * Executes the listOwnedNumbers request.
+ *
+ * @return NumbersResponse The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersResponse execute() throws ApiException {
+ RequestDefinition listOwnedNumbersDefinition = listOwnedNumbersDefinition(limit, number, page);
+ return apiClient.execute(listOwnedNumbersDefinition, new TypeReference
+ * Use this method to get all the owned numbers for this account.
+ *
+ * @return ListOwnedNumbersRequest
+ */
+ public ListOwnedNumbersRequest listOwnedNumbers() {
+ return new ListOwnedNumbersRequest();
+ }
+
+ private RequestDefinition registerBrandDefinition(UUID brandId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/brands/{brandId}/register")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * registerBrand request builder class.
+ */
+ public class RegisterBrandRequest {
+ private final UUID brandId;
+
+ private RegisterBrandRequest(UUID brandId) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ }
+
+ /**
+ * Executes the registerBrand request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition registerBrandDefinition = registerBrandDefinition(brandId);
+ apiClient.execute(registerBrandDefinition);
+ }
+
+ /**
+ * Executes the registerBrand request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Registers the brand with the given ID with all available registrars. Each registered brand incurs a cost, consult your contract for pricing details. When registering brands of type TENDLC_PUBLIC_COMPANY brands, brand authentication+ verification are automatically triggered. This is only available for 10DLC Brands
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @return RegisterBrandRequest
+ */
+ public RegisterBrandRequest registerBrand(UUID brandId) {
+ return new RegisterBrandRequest(brandId);
+ }
+
+ private RequestDefinition registerCampaignDefinition(
+ UUID campaignId, NumbersRegisterCampaignRequest numbersRegisterCampaignRequest) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/campaigns/{campaignId}/register")
+ .body(numbersRegisterCampaignRequest)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * registerCampaign request builder class.
+ */
+ public class RegisterCampaignRequest {
+ private final UUID campaignId;
+ private final NumbersRegisterCampaignRequest numbersRegisterCampaignRequest;
+
+ private RegisterCampaignRequest(
+ UUID campaignId, NumbersRegisterCampaignRequest numbersRegisterCampaignRequest) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ this.numbersRegisterCampaignRequest = Objects.requireNonNull(
+ numbersRegisterCampaignRequest,
+ "The required parameter 'numbersRegisterCampaignRequest' is missing.");
+ }
+
+ /**
+ * Executes the registerCampaign request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition registerCampaignDefinition =
+ registerCampaignDefinition(campaignId, numbersRegisterCampaignRequest);
+ apiClient.execute(registerCampaignDefinition);
+ }
+
+ /**
+ * Executes the registerCampaign request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Submits the campaign with the given ID for Infobip review. If a campaign gets approved by Infobip, it will get registered with carriers, and submitted for underlying connectivity provider's review. Each registered campaign incurs a cost, consult your contract for pricing information.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @param numbersRegisterCampaignRequest (required)
+ * @return RegisterCampaignRequest
+ * @see Find out more
+ */
+ public RegisterCampaignRequest registerCampaign(
+ UUID campaignId, NumbersRegisterCampaignRequest numbersRegisterCampaignRequest) {
+ return new RegisterCampaignRequest(campaignId, numbersRegisterCampaignRequest);
+ }
+
+ private RequestDefinition removeNumbersDefinition(
+ UUID campaignId, NumbersUpdateCampaignRegistrationRequest numbersUpdateCampaignRegistrationRequest) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/campaigns/{campaignId}/remove-numbers")
+ .body(numbersUpdateCampaignRegistrationRequest)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * removeNumbers request builder class.
+ */
+ public class RemoveNumbersRequest {
+ private final UUID campaignId;
+ private final NumbersUpdateCampaignRegistrationRequest numbersUpdateCampaignRegistrationRequest;
+
+ private RemoveNumbersRequest(
+ UUID campaignId, NumbersUpdateCampaignRegistrationRequest numbersUpdateCampaignRegistrationRequest) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ this.numbersUpdateCampaignRegistrationRequest = Objects.requireNonNull(
+ numbersUpdateCampaignRegistrationRequest,
+ "The required parameter 'numbersUpdateCampaignRegistrationRequest' is missing.");
+ }
+
+ /**
+ * Executes the removeNumbers request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition removeNumbersDefinition =
+ removeNumbersDefinition(campaignId, numbersUpdateCampaignRegistrationRequest);
+ apiClient.execute(removeNumbersDefinition);
+ }
+
+ /**
+ * Executes the removeNumbers request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Removes numbers from campaign that has already been registered. If the campaign registration has not been completed or numbers size exceeds the limit, attempting to update via this api will result in a 400 Bad Request.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @param numbersUpdateCampaignRegistrationRequest (required)
+ * @return RemoveNumbersRequest
+ */
+ public RemoveNumbersRequest removeNumbers(
+ UUID campaignId, NumbersUpdateCampaignRegistrationRequest numbersUpdateCampaignRegistrationRequest) {
+ return new RemoveNumbersRequest(campaignId, numbersUpdateCampaignRegistrationRequest);
+ }
+
+ private RequestDefinition removeRecordingConfigurationDefinition(String key) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "DELETE", "/voice/recording/1/configuration/numbers/{key}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (key != null) {
+ builder.addPathParameter(new Parameter("key", key));
+ }
+ return builder.build();
+ }
+
+ /**
+ * removeRecordingConfiguration request builder class.
+ */
+ public class RemoveRecordingConfigurationRequest {
+ private final String key;
+
+ private RemoveRecordingConfigurationRequest(String key) {
+ this.key = Objects.requireNonNull(key, "The required parameter 'key' is missing.");
+ }
+
+ /**
+ * Executes the removeRecordingConfiguration request.
+ *
+ * @return NumbersDownloadResponseModel The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersDownloadResponseModel execute() throws ApiException {
+ RequestDefinition removeRecordingConfigurationDefinition = removeRecordingConfigurationDefinition(key);
+ return apiClient.execute(
+ removeRecordingConfigurationDefinition,
+ new TypeReference
+ * This method allows you to delete Voice number recording configuration setup.
+ *
+ * @param key Key. (required)
+ * @return RemoveRecordingConfigurationRequest
+ */
+ public RemoveRecordingConfigurationRequest removeRecordingConfiguration(String key) {
+ return new RemoveRecordingConfigurationRequest(key);
+ }
+
+ private RequestDefinition resend2faMailBrandAuthDefinition(UUID brandId) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/brands/{brandId}/resend2fa")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * resend2faMailBrandAuth request builder class.
+ */
+ public class Resend2faMailBrandAuthRequest {
+ private final UUID brandId;
+
+ private Resend2faMailBrandAuthRequest(UUID brandId) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ }
+
+ /**
+ * Executes the resend2faMailBrandAuth request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition resend2faMailBrandAuthDefinition = resend2faMailBrandAuthDefinition(brandId);
+ apiClient.execute(resend2faMailBrandAuthDefinition);
+ }
+
+ /**
+ * Executes the resend2faMailBrandAuth request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Resend 2FA email to proceed with Brand authentication. This operation can be executed for TENDLC_PUBLIC_COMPANY brand type only when Brand authentication is in progress. In 2 hour time window can resend only one 2FA email.
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @return Resend2faMailBrandAuthRequest
+ */
+ public Resend2faMailBrandAuthRequest resend2faMailBrandAuth(UUID brandId) {
+ return new Resend2faMailBrandAuthRequest(brandId);
+ }
+
+ private RequestDefinition retrieveRecordingConfigurationDefinition(String key) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "GET", "/voice/recording/1/configuration/numbers/{key}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (key != null) {
+ builder.addPathParameter(new Parameter("key", key));
+ }
+ return builder.build();
+ }
+
+ /**
+ * retrieveRecordingConfiguration request builder class.
+ */
+ public class RetrieveRecordingConfigurationRequest {
+ private final String key;
+
+ private RetrieveRecordingConfigurationRequest(String key) {
+ this.key = Objects.requireNonNull(key, "The required parameter 'key' is missing.");
+ }
+
+ /**
+ * Executes the retrieveRecordingConfiguration request.
+ *
+ * @return NumbersNumberConfigurationModel The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersNumberConfigurationModel execute() throws ApiException {
+ RequestDefinition retrieveRecordingConfigurationDefinition = retrieveRecordingConfigurationDefinition(key);
+ return apiClient.execute(
+ retrieveRecordingConfigurationDefinition,
+ new TypeReference
+ * This method allows you to read Voice number recording configuration setup.
+ *
+ * @param key Key. (required)
+ * @return RetrieveRecordingConfigurationRequest
+ */
+ public RetrieveRecordingConfigurationRequest retrieveRecordingConfiguration(String key) {
+ return new RetrieveRecordingConfigurationRequest(key);
+ }
+
+ private RequestDefinition submitCampaignInfoForAiReviewDefinition(NumbersTenDlcAiReviewRequest body) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("POST", "/number-registration/1/automatic-review")
+ .body(body)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ return builder.build();
+ }
+
+ /**
+ * submitCampaignInfoForAiReview request builder class.
+ */
+ public class SubmitCampaignInfoForAiReviewRequest {
+ private final NumbersTenDlcAiReviewRequest body;
+
+ private SubmitCampaignInfoForAiReviewRequest(NumbersTenDlcAiReviewRequest body) {
+ this.body = Objects.requireNonNull(body, "The required parameter 'body' is missing.");
+ }
+
+ /**
+ * Executes the submitCampaignInfoForAiReview request.
+ *
+ * @return NumbersReviewSubmissionResponse The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersReviewSubmissionResponse execute() throws ApiException {
+ RequestDefinition submitCampaignInfoForAiReviewDefinition = submitCampaignInfoForAiReviewDefinition(body);
+ return apiClient.execute(
+ submitCampaignInfoForAiReviewDefinition,
+ new TypeReference
+ * Submits new campaign information for automatic AI compliance review. Returns a request UUID that can be used to fetch the review results. Contact your account manager to learn more.
+ *
+ * @param body (required)
+ * @return SubmitCampaignInfoForAiReviewRequest
+ */
+ public SubmitCampaignInfoForAiReviewRequest submitCampaignInfoForAiReview(NumbersTenDlcAiReviewRequest body) {
+ return new SubmitCampaignInfoForAiReviewRequest(body);
+ }
+
+ private RequestDefinition submitExistingCampaignForAiReviewDefinition(UUID campaignUuid) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/automatic-review/campaigns/{campaignUuid}")
+ .requiresAuthentication(true)
+ .accept("application/json");
+
+ if (campaignUuid != null) {
+ builder.addPathParameter(new Parameter("campaignUuid", campaignUuid));
+ }
+ return builder.build();
+ }
+
+ /**
+ * submitExistingCampaignForAiReview request builder class.
+ */
+ public class SubmitExistingCampaignForAiReviewRequest {
+ private final UUID campaignUuid;
+
+ private SubmitExistingCampaignForAiReviewRequest(UUID campaignUuid) {
+ this.campaignUuid =
+ Objects.requireNonNull(campaignUuid, "The required parameter 'campaignUuid' is missing.");
+ }
+
+ /**
+ * Executes the submitExistingCampaignForAiReview request.
+ *
+ * @return NumbersReviewSubmissionResponse The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersReviewSubmissionResponse execute() throws ApiException {
+ RequestDefinition submitExistingCampaignForAiReviewDefinition =
+ submitExistingCampaignForAiReviewDefinition(campaignUuid);
+ return apiClient.execute(
+ submitExistingCampaignForAiReviewDefinition,
+ new TypeReference
+ * Submits an existing campaign for automatic AI compliance review. Returns a request UUID that can be used to fetch the review results. Contact your account manager to learn more.
+ *
+ * @param campaignUuid The UUID assigned to the campaign when it was created or imported into the infobip platform. This identifier is returned during campaign creation. (required)
+ * @return SubmitExistingCampaignForAiReviewRequest
+ */
+ public SubmitExistingCampaignForAiReviewRequest submitExistingCampaignForAiReview(UUID campaignUuid) {
+ return new SubmitExistingCampaignForAiReviewRequest(campaignUuid);
+ }
+
+ private RequestDefinition updateBrandDefinition(UUID brandId, NumbersBrand numbersBrand) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("PUT", "/number-registration/1/brands/{brandId}")
+ .body(numbersBrand)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * updateBrand request builder class.
+ */
+ public class UpdateBrandRequest {
+ private final UUID brandId;
+ private final NumbersBrand numbersBrand;
+
+ private UpdateBrandRequest(UUID brandId, NumbersBrand numbersBrand) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ this.numbersBrand =
+ Objects.requireNonNull(numbersBrand, "The required parameter 'numbersBrand' is missing.");
+ }
+
+ /**
+ * Executes the updateBrand request.
+ *
+ * @return NumbersBrand The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersBrand execute() throws ApiException {
+ RequestDefinition updateBrandDefinition = updateBrandDefinition(brandId, numbersBrand);
+ return apiClient.execute(updateBrandDefinition, new TypeReference
+ * Updates a brand that has not yet been registered within the Infobip platform (response 200) or that has a successful or failed registration (response 202). This method will not support a brand update with pending registration status and will return a 400 Bad Request. Also for successfully registered brands, updates to the legalName, type, taxId, and taxIdIssuingCountry are restricted and will also return a 400 Bad Request.
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @param numbersBrand (required)
+ * @return UpdateBrandRequest
+ */
+ public UpdateBrandRequest updateBrand(UUID brandId, NumbersBrand numbersBrand) {
+ return new UpdateBrandRequest(brandId, numbersBrand);
+ }
+
+ private RequestDefinition updateBrandVetDefinition(UUID brandId, UUID vetId, NumbersBrandVet numbersBrandVet) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "PUT", "/number-registration/1/brands/{brandId}/vets/{vetId}")
+ .body(numbersBrandVet)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (brandId != null) {
+ builder.addPathParameter(new Parameter("brandId", brandId));
+ }
+ if (vetId != null) {
+ builder.addPathParameter(new Parameter("vetId", vetId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * updateBrandVet request builder class.
+ */
+ public class UpdateBrandVetRequest {
+ private final UUID brandId;
+ private final UUID vetId;
+ private final NumbersBrandVet numbersBrandVet;
+
+ private UpdateBrandVetRequest(UUID brandId, UUID vetId, NumbersBrandVet numbersBrandVet) {
+ this.brandId = Objects.requireNonNull(brandId, "The required parameter 'brandId' is missing.");
+ this.vetId = Objects.requireNonNull(vetId, "The required parameter 'vetId' is missing.");
+ this.numbersBrandVet =
+ Objects.requireNonNull(numbersBrandVet, "The required parameter 'numbersBrandVet' is missing.");
+ }
+
+ /**
+ * Executes the updateBrandVet request.
+ *
+ * @return NumbersBrandVet The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersBrandVet execute() throws ApiException {
+ RequestDefinition updateBrandVetDefinition = updateBrandVetDefinition(brandId, vetId, numbersBrandVet);
+ return apiClient.execute(updateBrandVetDefinition, new TypeReference
+ * Updates a brand vetting type. Provided vet must be current active standard vet and it may only be updated to an enhanced vet if it was performed within the last 30 days. All other attempts to update a vet are considered an error.
+ *
+ * @param brandId The ID of the desired brand. (required)
+ * @param vetId The ID of the brand active vet. (required)
+ * @param numbersBrandVet (required)
+ * @return UpdateBrandVetRequest
+ */
+ public UpdateBrandVetRequest updateBrandVet(UUID brandId, UUID vetId, NumbersBrandVet numbersBrandVet) {
+ return new UpdateBrandVetRequest(brandId, vetId, numbersBrandVet);
+ }
+
+ private RequestDefinition updateCampaignDefinition(UUID campaignId, NumbersCampaign numbersCampaign) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "PUT", "/number-registration/1/campaigns/{campaignId}")
+ .body(numbersCampaign)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * updateCampaign request builder class.
+ */
+ public class UpdateCampaignRequest {
+ private final UUID campaignId;
+ private final NumbersCampaign numbersCampaign;
+
+ private UpdateCampaignRequest(UUID campaignId, NumbersCampaign numbersCampaign) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ this.numbersCampaign =
+ Objects.requireNonNull(numbersCampaign, "The required parameter 'numbersCampaign' is missing.");
+ }
+
+ /**
+ * Executes the updateCampaign request.
+ *
+ * @return NumbersCampaign The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersCampaign execute() throws ApiException {
+ RequestDefinition updateCampaignDefinition = updateCampaignDefinition(campaignId, numbersCampaign);
+ return apiClient.execute(updateCampaignDefinition, new TypeReference
+ * Updates a campaign that has not yet been registered within the Infobip platform or has been rejected by Infobip. This operation is only supported for campaigns that are in DRAFT or REJECTED stage.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @param numbersCampaign (required)
+ * @return UpdateCampaignRequest
+ */
+ public UpdateCampaignRequest updateCampaign(UUID campaignId, NumbersCampaign numbersCampaign) {
+ return new UpdateCampaignRequest(campaignId, numbersCampaign);
+ }
+
+ private RequestDefinition updateCnamDefinition(String numberKey, CallsCnam callsCnam) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "PUT", "/numbers/2/numbers/{numberKey}/voice/cnam")
+ .body(callsCnam)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * updateCnam request builder class.
+ */
+ public class UpdateCnamRequest {
+ private final String numberKey;
+ private final CallsCnam callsCnam;
+
+ private UpdateCnamRequest(String numberKey, CallsCnam callsCnam) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ this.callsCnam = Objects.requireNonNull(callsCnam, "The required parameter 'callsCnam' is missing.");
+ }
+
+ /**
+ * Executes the updateCnam request.
+ *
+ * @return CallsCnam The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsCnam execute() throws ApiException {
+ RequestDefinition updateCnamDefinition = updateCnamDefinition(numberKey, callsCnam);
+ return apiClient.execute(updateCnamDefinition, new TypeReference
+ * Update a CNAM configuration.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @param callsCnam (required)
+ * @return UpdateCnamRequest
+ */
+ public UpdateCnamRequest updateCnam(String numberKey, CallsCnam callsCnam) {
+ return new UpdateCnamRequest(numberKey, callsCnam);
+ }
+
+ private RequestDefinition updateEmergencyServiceDefinition(
+ String numberKey, CallsEmergencyAddress callsEmergencyAddress) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "PUT", "/numbers/2/numbers/{numberKey}/voice/emergency-service")
+ .body(callsEmergencyAddress)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * updateEmergencyService request builder class.
+ */
+ public class UpdateEmergencyServiceRequest {
+ private final String numberKey;
+ private final CallsEmergencyAddress callsEmergencyAddress;
+
+ private UpdateEmergencyServiceRequest(String numberKey, CallsEmergencyAddress callsEmergencyAddress) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ this.callsEmergencyAddress = Objects.requireNonNull(
+ callsEmergencyAddress, "The required parameter 'callsEmergencyAddress' is missing.");
+ }
+
+ /**
+ * Executes the updateEmergencyService request.
+ *
+ * @return CallsEmergencyAddress The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsEmergencyAddress execute() throws ApiException {
+ RequestDefinition updateEmergencyServiceDefinition =
+ updateEmergencyServiceDefinition(numberKey, callsEmergencyAddress);
+ return apiClient.execute(
+ updateEmergencyServiceDefinition, new TypeReference
+ * Update a Emergency Service Address
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @param callsEmergencyAddress (required)
+ * @return UpdateEmergencyServiceRequest
+ */
+ public UpdateEmergencyServiceRequest updateEmergencyService(
+ String numberKey, CallsEmergencyAddress callsEmergencyAddress) {
+ return new UpdateEmergencyServiceRequest(numberKey, callsEmergencyAddress);
+ }
+
+ private RequestDefinition updateOwnedNumberDefinition(
+ String numberKey, NumbersUpdateOwnedNumberRequest numbersUpdateOwnedNumberRequest) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("PUT", "/numbers/1/numbers/{numberKey}")
+ .body(numbersUpdateOwnedNumberRequest)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * updateOwnedNumber request builder class.
+ */
+ public class UpdateOwnedNumberRequest {
+ private final String numberKey;
+ private final NumbersUpdateOwnedNumberRequest numbersUpdateOwnedNumberRequest;
+
+ private UpdateOwnedNumberRequest(
+ String numberKey, NumbersUpdateOwnedNumberRequest numbersUpdateOwnedNumberRequest) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ this.numbersUpdateOwnedNumberRequest = Objects.requireNonNull(
+ numbersUpdateOwnedNumberRequest,
+ "The required parameter 'numbersUpdateOwnedNumberRequest' is missing.");
+ }
+
+ /**
+ * Executes the updateOwnedNumber request.
+ *
+ * @return NumbersNumberResponse The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersNumberResponse execute() throws ApiException {
+ RequestDefinition updateOwnedNumberDefinition =
+ updateOwnedNumberDefinition(numberKey, numbersUpdateOwnedNumberRequest);
+ return apiClient.execute(
+ updateOwnedNumberDefinition, new TypeReference
+ * Use this method to update the application and the entity, if required, that is linked to a number.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @param numbersUpdateOwnedNumberRequest (required)
+ * @return UpdateOwnedNumberRequest
+ */
+ public UpdateOwnedNumberRequest updateOwnedNumber(
+ String numberKey, NumbersUpdateOwnedNumberRequest numbersUpdateOwnedNumberRequest) {
+ return new UpdateOwnedNumberRequest(numberKey, numbersUpdateOwnedNumberRequest);
+ }
+
+ private RequestDefinition updateRecordingConfigurationDefinition(
+ NumbersNumberConfigurationModel numbersNumberConfigurationModel) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("PUT", "/voice/recording/1/configuration/numbers")
+ .body(numbersNumberConfigurationModel)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ return builder.build();
+ }
+
+ /**
+ * updateRecordingConfiguration request builder class.
+ */
+ public class UpdateRecordingConfigurationRequest {
+ private final NumbersNumberConfigurationModel numbersNumberConfigurationModel;
+
+ private UpdateRecordingConfigurationRequest(NumbersNumberConfigurationModel numbersNumberConfigurationModel) {
+ this.numbersNumberConfigurationModel = Objects.requireNonNull(
+ numbersNumberConfigurationModel,
+ "The required parameter 'numbersNumberConfigurationModel' is missing.");
+ }
+
+ /**
+ * Executes the updateRecordingConfiguration request.
+ *
+ * @return NumbersNumberConfigurationModel The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersNumberConfigurationModel execute() throws ApiException {
+ RequestDefinition updateRecordingConfigurationDefinition =
+ updateRecordingConfigurationDefinition(numbersNumberConfigurationModel);
+ return apiClient.execute(
+ updateRecordingConfigurationDefinition,
+ new TypeReference
+ * This method allows you to update recording configuration on voice number.
+ *
+ * @param numbersNumberConfigurationModel (required)
+ * @return UpdateRecordingConfigurationRequest
+ */
+ public UpdateRecordingConfigurationRequest updateRecordingConfiguration(
+ NumbersNumberConfigurationModel numbersNumberConfigurationModel) {
+ return new UpdateRecordingConfigurationRequest(numbersNumberConfigurationModel);
+ }
+
+ private RequestDefinition updateRegisteredCampaignDefinition(
+ UUID campaignId, NumbersUpdateCampaignRegistrationRequest numbersUpdateCampaignRegistrationRequest) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/number-registration/1/campaigns/{campaignId}/update-registration")
+ .body(numbersUpdateCampaignRegistrationRequest)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (campaignId != null) {
+ builder.addPathParameter(new Parameter("campaignId", campaignId));
+ }
+ return builder.build();
+ }
+
+ /**
+ * updateRegisteredCampaign request builder class.
+ */
+ public class UpdateRegisteredCampaignRequest {
+ private final UUID campaignId;
+ private final NumbersUpdateCampaignRegistrationRequest numbersUpdateCampaignRegistrationRequest;
+
+ private UpdateRegisteredCampaignRequest(
+ UUID campaignId, NumbersUpdateCampaignRegistrationRequest numbersUpdateCampaignRegistrationRequest) {
+ this.campaignId = Objects.requireNonNull(campaignId, "The required parameter 'campaignId' is missing.");
+ this.numbersUpdateCampaignRegistrationRequest = Objects.requireNonNull(
+ numbersUpdateCampaignRegistrationRequest,
+ "The required parameter 'numbersUpdateCampaignRegistrationRequest' is missing.");
+ }
+
+ /**
+ * Executes the updateRegisteredCampaign request
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public void execute() throws ApiException {
+ RequestDefinition updateRegisteredCampaignDefinition =
+ updateRegisteredCampaignDefinition(campaignId, numbersUpdateCampaignRegistrationRequest);
+ apiClient.execute(updateRegisteredCampaignDefinition);
+ }
+
+ /**
+ * Executes the updateRegisteredCampaign request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
+ * Updates a campaign that has already been registered. If the campaign registration has not been completed, attempting to update via this api will result in a 400 Bad Request. Numbers which require OSR to be updated in advance could be identified by using Numbers API's \"List owned number\" GET endpoint.
+ *
+ * @param campaignId The ID of the desired campaign. (required)
+ * @param numbersUpdateCampaignRegistrationRequest (required)
+ * @return UpdateRegisteredCampaignRequest
+ */
+ public UpdateRegisteredCampaignRequest updateRegisteredCampaign(
+ UUID campaignId, NumbersUpdateCampaignRegistrationRequest numbersUpdateCampaignRegistrationRequest) {
+ return new UpdateRegisteredCampaignRequest(campaignId, numbersUpdateCampaignRegistrationRequest);
+ }
+
+ private RequestDefinition updateVoiceSetupOnNumberDefinition(
+ String numberKey, NumbersVoiceSetup numbersVoiceSetup) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("PUT", "/numbers/2/numbers/{numberKey}/voice")
+ .body(numbersVoiceSetup)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * updateVoiceSetupOnNumber request builder class.
+ */
+ public class UpdateVoiceSetupOnNumberRequest {
+ private final String numberKey;
+ private final NumbersVoiceSetup numbersVoiceSetup;
+
+ private UpdateVoiceSetupOnNumberRequest(String numberKey, NumbersVoiceSetup numbersVoiceSetup) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ this.numbersVoiceSetup =
+ Objects.requireNonNull(numbersVoiceSetup, "The required parameter 'numbersVoiceSetup' is missing.");
+ }
+
+ /**
+ * Executes the updateVoiceSetupOnNumber request.
+ *
+ * @return NumbersVoiceSetup The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersVoiceSetup execute() throws ApiException {
+ RequestDefinition updateVoiceSetupOnNumberDefinition =
+ updateVoiceSetupOnNumberDefinition(numberKey, numbersVoiceSetup);
+ return apiClient.execute(
+ updateVoiceSetupOnNumberDefinition, new TypeReference
+ * This method updates voice setup previously created on a number.
+ *
+ * @param numberKey Unique ID of a number. (required)
+ * @param numbersVoiceSetup voiceSetup (required)
+ * @return UpdateVoiceSetupOnNumberRequest
+ */
+ public UpdateVoiceSetupOnNumberRequest updateVoiceSetupOnNumber(
+ String numberKey, NumbersVoiceSetup numbersVoiceSetup) {
+ return new UpdateVoiceSetupOnNumberRequest(numberKey, numbersVoiceSetup);
+ }
+
+ private RequestDefinition uploadDocumentMetadataDefinition(File document) {
+ RequestDefinition.Builder builder = RequestDefinition.builder("POST", "/number-registration/1/documents")
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("multipart/form-data");
+
+ if (document != null) {
+ builder.addFormParameter(new Parameter("document", document));
+ }
+ return builder.build();
+ }
+
+ /**
+ * uploadDocumentMetadata request builder class.
+ */
+ public class UploadDocumentMetadataRequest {
+ private final File document;
+
+ private UploadDocumentMetadataRequest(File document) {
+ this.document = Objects.requireNonNull(document, "The required parameter 'document' is missing.");
+ }
+
+ /**
+ * Executes the uploadDocumentMetadata request.
+ *
+ * @return NumbersDocumentMetadata The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public NumbersDocumentMetadata execute() throws ApiException {
+ RequestDefinition uploadDocumentMetadataDefinition = uploadDocumentMetadataDefinition(document);
+ return apiClient.execute(
+ uploadDocumentMetadataDefinition, new TypeReference
+ * Uploads a document file to the system and returns the document metadata. The uploaded document can be used for 10DLC campaign registration purposes. Documents not attached to a campaign within 7 days will be automatically deleted. Supported file types: .bmp, .dib, .docx, .gif, .htm, .html, .jpeg, .jpg, .m2a, .m4a, .m4b, .m4p, .m4r, .m4v, .mp1, .mp2, .mp3, .mp4, .mpa, .oga, .ogg, .ogm, .ogv, .ogx, .odt, .pdf, .png, .raw, .rtf, .spx, .tif, .tiff, .txt, .wav, .webm, .xml, Maximum file size: 10MB.
+ *
+ * @param document The document file to be uploaded. (required)
+ * @return UploadDocumentMetadataRequest
+ */
+ public UploadDocumentMetadataRequest uploadDocumentMetadata(File document) {
+ return new UploadDocumentMetadataRequest(document);
+ }
+
+ private RequestDefinition validateEmergencyServiceDefinition(String numberKey, CallsAddress callsAddress) {
+ RequestDefinition.Builder builder = RequestDefinition.builder(
+ "POST", "/numbers/2/numbers/{numberKey}/voice/emergency-service/validate-address")
+ .body(callsAddress)
+ .requiresAuthentication(true)
+ .accept("application/json")
+ .contentType("application/json");
+
+ if (numberKey != null) {
+ builder.addPathParameter(new Parameter("numberKey", numberKey));
+ }
+ return builder.build();
+ }
+
+ /**
+ * validateEmergencyService request builder class.
+ */
+ public class ValidateEmergencyServiceRequest {
+ private final String numberKey;
+ private final CallsAddress callsAddress;
+
+ private ValidateEmergencyServiceRequest(String numberKey, CallsAddress callsAddress) {
+ this.numberKey = Objects.requireNonNull(numberKey, "The required parameter 'numberKey' is missing.");
+ this.callsAddress =
+ Objects.requireNonNull(callsAddress, "The required parameter 'callsAddress' is missing.");
+ }
+
+ /**
+ * Executes the validateEmergencyService request.
+ *
+ * @return CallsValidateAddressResponse The deserialized response.
+ * @throws ApiException If the API call fails or an error occurs during the request or response processing.
+ */
+ public CallsValidateAddressResponse execute() throws ApiException {
+ RequestDefinition validateEmergencyServiceDefinition =
+ validateEmergencyServiceDefinition(numberKey, callsAddress);
+ return apiClient.execute(
+ validateEmergencyServiceDefinition, new TypeReference>() {}.getType());
+ }
+
+ /**
+ * Executes the getBrandRegistrarStatuses request asynchronously.
+ *
+ * @param callback The {@link ApiCallback} to be invoked.
+ * @return The {@link okhttp3.Call} associated with the API request.
+ */
+ public okhttp3.Call executeAsync(ApiCallback
> callback) {
+ RequestDefinition getBrandRegistrarStatusesDefinition = getBrandRegistrarStatusesDefinition(brandId);
+ return apiClient.executeAsync(
+ getBrandRegistrarStatusesDefinition,
+ new TypeReference
>() {}.getType(),
+ callback);
+ }
+ }
+
+ /**
+ * Get Brand Registrar Statuses.
+ *