diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2b841eda..d1640abd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,14 @@
# Change Log
+## [5.47.0](https://github.com/plivo/plivo-java/tree/v5.47.0) (2026-04-08)
+**Feature - PhoneNumber Compliance API support**
+- Added `PhoneNumberComplianceRequirement` resource with `lister()` for discovering compliance requirements by country, number type, and user type
+- Added `PhoneNumberCompliance` resource with `creator()`, `getter()`, `lister()`, `updater()`, `deleter()` for compliance applications
+- Added `PhoneNumberComplianceLinkCreator` for bulk linking phone numbers to accepted compliance applications
+- Added PATCH support via Retrofit `@HTTP` annotation for compliance application updates
+- Added `compliances` field to `ListResponse` for non-standard list response key
+- Create and update operations support multipart file uploads for compliance documents
+
## [5.46.7](https://github.com/plivo/plivo-java/tree/v5.46.7) (2026-03-18)
**Feature - Profile Update API additional fields support**
- Added `ein`, `einIssuingCountry`, `altBusinessId`, `altBusinessIdType` parameters to Profile `update` method
diff --git a/pom.xml b/pom.xml
index 8bf119d6..787d4f56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.plivo
plivo-java
- 5.46.7
+ 5.47.0
plivo-java
A Java SDK to make voice calls & send SMS using Plivo and to generate Plivo XML
diff --git a/src/main/java/com/plivo/api/PlivoAPIService.java b/src/main/java/com/plivo/api/PlivoAPIService.java
index 69fa15de..e1dce3be 100644
--- a/src/main/java/com/plivo/api/PlivoAPIService.java
+++ b/src/main/java/com/plivo/api/PlivoAPIService.java
@@ -27,6 +27,7 @@
import com.plivo.api.models.node.MultiPartyCall;
import com.plivo.api.models.number.*;
import com.plivo.api.models.number.Number;
+import com.plivo.api.models.phonenumbercompliance.*;
import com.plivo.api.models.phlo.Phlo;
import com.plivo.api.models.phlo.PhloRunGetterResponse;
import com.plivo.api.models.phlo.PhloUpdateResponse;
@@ -827,4 +828,41 @@ Call> tollfreeVerificationList(@Path("authId"
// Delete
@DELETE("Account/{authId}/TollfreeVerification/{uuid}/")
Call tollfreeVerificationDelete(@Path("authId") String authId, @Path("uuid") String uuid);
+
+ // PhoneNumber Compliance Requirements
+ @GET("Account/{authId}/PhoneNumber/Compliance/Requirements/")
+ Call phoneNumberComplianceRequirementList(@Path("authId") String authId,
+ @QueryMap Map params);
+
+ // PhoneNumber Compliance Create (multipart)
+ @POST("Account/{authId}/PhoneNumber/Compliance/")
+ Call phoneNumberComplianceCreate(@Path("authId") String authId,
+ @Body RequestBody body);
+
+ // PhoneNumber Compliance List
+ @GET("Account/{authId}/PhoneNumber/Compliance/")
+ Call> phoneNumberComplianceList(@Path("authId") String authId,
+ @QueryMap Map params);
+
+ // PhoneNumber Compliance Get
+ @GET("Account/{authId}/PhoneNumber/Compliance/{complianceId}/")
+ Call phoneNumberComplianceGet(@Path("authId") String authId,
+ @Path("complianceId") String complianceId,
+ @QueryMap Map params);
+
+ // PhoneNumber Compliance Update (PATCH, multipart)
+ @HTTP(method = "PATCH", path = "Account/{authId}/PhoneNumber/Compliance/{complianceId}/", hasBody = true)
+ Call phoneNumberComplianceUpdate(@Path("authId") String authId,
+ @Path("complianceId") String complianceId,
+ @Body RequestBody body);
+
+ // PhoneNumber Compliance Delete
+ @DELETE("Account/{authId}/PhoneNumber/Compliance/{complianceId}/")
+ Call phoneNumberComplianceDelete(@Path("authId") String authId,
+ @Path("complianceId") String complianceId);
+
+ // PhoneNumber Compliance Link
+ @POST("Account/{authId}/PhoneNumber/Compliance/Link/")
+ Call phoneNumberComplianceLinkCreate(@Path("authId") String authId,
+ @Body PhoneNumberComplianceLinkCreator body);
}
diff --git a/src/main/java/com/plivo/api/models/base/ListResponse.java b/src/main/java/com/plivo/api/models/base/ListResponse.java
index 3233c3c5..d068e6db 100644
--- a/src/main/java/com/plivo/api/models/base/ListResponse.java
+++ b/src/main/java/com/plivo/api/models/base/ListResponse.java
@@ -47,6 +47,13 @@ public List getCampaigns() {
public List getSessions() {
return sessions;
}
+
+ private List compliances;
+
+ public List getCompliances() {
+ return compliances;
+ }
+
public Response getResponse() {
return response;
}
diff --git a/src/main/java/com/plivo/api/models/phonenumbercompliance/PhoneNumberCompliance.java b/src/main/java/com/plivo/api/models/phonenumbercompliance/PhoneNumberCompliance.java
new file mode 100644
index 00000000..c3df1e7e
--- /dev/null
+++ b/src/main/java/com/plivo/api/models/phonenumbercompliance/PhoneNumberCompliance.java
@@ -0,0 +1,104 @@
+package com.plivo.api.models.phonenumbercompliance;
+
+import com.plivo.api.models.base.BaseResource;
+
+import java.util.List;
+
+public class PhoneNumberCompliance extends BaseResource {
+
+ private String complianceId;
+ private String status;
+ private String alias;
+ private String countryIso;
+ private String numberType;
+ private String userType;
+ private String callbackUrl;
+ private String callbackMethod;
+ private String rejectionReason;
+ private String createdAt;
+ private String updatedAt;
+ private Object endUser;
+ private List