diff --git a/.gitignore b/.gitignore
index 1ca9a4255..cf7d78581 100644
--- a/.gitignore
+++ b/.gitignore
@@ -86,3 +86,6 @@ __pycache__/
 *.key
 *.csr
 *.pem
+
+# Localstack
+localstack/cache
diff --git a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/gateways/ProbationOffenderSearchGateway.kt b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/gateways/ProbationOffenderSearchGateway.kt
index 4b96e7e67..4f82d4e24 100644
--- a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/gateways/ProbationOffenderSearchGateway.kt
+++ b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/gateways/ProbationOffenderSearchGateway.kt
@@ -11,6 +11,7 @@ import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.Person
 import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.Response
 import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.UpstreamApi
 import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.UpstreamApiError
+import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.probationoffendersearch.ContactDetailsWithAddress
 import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.probationoffendersearch.Offender
 
 @Component
@@ -116,8 +117,26 @@ class ProbationOffenderSearchGateway(
   }
 
   fun getAddressesForPerson(hmppsId: String): Response<List<Address>> {
-    val offender = getOffender(hmppsId)
-    return Response(data = offender.data?.contactDetails?.addresses.orEmpty().map { it.toAddress() }, errors = offender.errors)
+    val result =
+      webClient.requestList<ContactDetailsWithAddress>(
+        HttpMethod.POST,
+        "/search",
+        authenticationHeader(),
+        UpstreamApi.PROBATION_OFFENDER_SEARCH,
+        mapOf("crn" to hmppsId),
+      )
+
+    return when (result) {
+      is WebClientWrapperResponse.Success -> {
+        return Response(result.data.firstOrNull()?.contactDetails?.addresses.orEmpty().map { it.toAddress() })
+      }
+      is WebClientWrapperResponse.Error -> {
+        Response(
+          data = emptyList(),
+          errors = result.errors,
+        )
+      }
+    }
   }
 
   private fun authenticationHeader(): Map<String, String> {
diff --git a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/hmpps/ContactDetailsWithEmailAndPhone.kt b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/hmpps/ContactDetailsWithEmailAndPhone.kt
index 7d3c19214..b74994999 100644
--- a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/hmpps/ContactDetailsWithEmailAndPhone.kt
+++ b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/hmpps/ContactDetailsWithEmailAndPhone.kt
@@ -1,9 +1,6 @@
 package uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps
 
-import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.probationoffendersearch.Address
-
 data class ContactDetailsWithEmailAndPhone(
-  val addresses: List<Address>?,
   val phoneNumbers: List<PhoneNumber>?,
   val emails: List<String>?,
 )
diff --git a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/Address.kt b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/Address.kt
index 203b84227..c38e2c542 100644
--- a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/Address.kt
+++ b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/Address.kt
@@ -1,7 +1,15 @@
 package uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.probationoffendersearch
 
-import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.Address
 import java.time.LocalDate
+import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.Address as HmppsAddress
+
+data class ContactDetailsWithAddress(
+  val contactDetails: Addresses? = null,
+)
+
+data class Addresses(
+  val addresses: List<Address>? = listOf(),
+)
 
 data class Address(
   val addressNumber: String?,
@@ -18,7 +26,7 @@ data class Address(
   val notes: String?,
 ) {
   fun toAddress() =
-    Address(
+    HmppsAddress(
       country = null,
       county = this.county,
       endDate = this.to,
@@ -39,7 +47,7 @@ data class Address(
     val description: String?,
   ) {
     fun toAddressType() =
-      Address.Type(
+      HmppsAddress.Type(
         code = this.code,
         description = this.description ?: this.code,
       )
diff --git a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/ContactDetails.kt b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/ContactDetails.kt
index 09359e205..8b46de1d2 100644
--- a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/ContactDetails.kt
+++ b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/ContactDetails.kt
@@ -1,5 +1,15 @@
 package uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.probationoffendersearch
 
-open class ContactDetails(
-  open val addresses: List<Address>? = listOf(),
-)
+import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.PhoneNumber
+import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.ContactDetailsWithEmailAndPhone as PersonContactDetails
+
+class ContactDetails(
+  val phoneNumbers: List<PhoneNumber>?,
+  val emailAddresses: List<String>?,
+) {
+  fun toContactDetails(): PersonContactDetails =
+    PersonContactDetails(
+      phoneNumbers = this.phoneNumbers,
+      emails = this.emailAddresses,
+    )
+}
diff --git a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/ContactDetailsWithEmailAndPhone.kt b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/ContactDetailsWithEmailAndPhone.kt
deleted file mode 100644
index 52a75d79b..000000000
--- a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/ContactDetailsWithEmailAndPhone.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.probationoffendersearch
-
-import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.PhoneNumber
-import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.ContactDetailsWithEmailAndPhone as PersonContactDetails
-
-class ContactDetailsWithEmailAndPhone(
-  override val addresses: List<Address>?,
-  val phoneNumbers: List<PhoneNumber>?,
-  val emails: List<String>?,
-) : ContactDetails(addresses) {
-  fun toContactdetails(): PersonContactDetails =
-    PersonContactDetails(
-      addresses = this.addresses,
-      phoneNumbers = this.phoneNumbers,
-      emails = this.emails,
-    )
-}
diff --git a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/Offender.kt b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/Offender.kt
index 7176eb913..348159c67 100755
--- a/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/Offender.kt
+++ b/src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/probationoffendersearch/Offender.kt
@@ -13,7 +13,7 @@ data class Offender(
   val gender: String? = null,
   val offenderProfile: OffenderProfile = OffenderProfile(),
   val offenderAliases: List<OffenderAlias> = listOf(),
-  val contactDetails: ContactDetailsWithEmailAndPhone? = null,
+  val contactDetails: ContactDetails? = null,
   val otherIds: OtherIds = OtherIds(),
   val age: Number = 0,
 ) {
@@ -34,7 +34,7 @@ data class Offender(
         ),
       pncId = otherIds.pncNumber,
       hmppsId = otherIds.crn,
-      contactDetails = this.contactDetails?.toContactdetails(),
+      contactDetails = this.contactDetails?.toContactDetails(),
     )
 
   fun toPersonProtectedCharacteristics(): PersonProtectedCharacteristics =
diff --git a/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/controllers/v1/person/PersonControllerTest.kt b/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/controllers/v1/person/PersonControllerTest.kt
index a14628211..7392d41a2 100755
--- a/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/controllers/v1/person/PersonControllerTest.kt
+++ b/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/controllers/v1/person/PersonControllerTest.kt
@@ -76,14 +76,14 @@ internal class PersonControllerTest(
                     lastName = "Allen",
                     middleName = "Jonas",
                     dateOfBirth = LocalDate.parse("2023-03-01"),
-                    contactDetails = ContactDetailsWithEmailAndPhone(emptyList(), phoneNumbers, emails),
+                    contactDetails = ContactDetailsWithEmailAndPhone(phoneNumbers, emails),
                   ),
                   Person(
                     firstName = "Barry",
                     lastName = "Allen",
                     middleName = "Rock",
                     dateOfBirth = LocalDate.parse("2022-07-22"),
-                    contactDetails = ContactDetailsWithEmailAndPhone(emptyList(), phoneNumbers, emails),
+                    contactDetails = ContactDetailsWithEmailAndPhone(phoneNumbers, emails),
                   ),
                 ),
             ),
diff --git a/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/gateways/probationoffendersearch/GetAddressesForPersonTest.kt b/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/gateways/probationoffendersearch/GetAddressesForPersonTest.kt
index e0af99afb..e2a24b482 100644
--- a/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/gateways/probationoffendersearch/GetAddressesForPersonTest.kt
+++ b/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/gateways/probationoffendersearch/GetAddressesForPersonTest.kt
@@ -29,17 +29,15 @@ class GetAddressesForPersonTest(
 ) : DescribeSpec(
     {
       val probationOffenderSearchApiMockServer = ProbationOffenderSearchApiMockServer()
-      val hmppsId = "2002/1121M"
+      val hmppsId = "X777776"
 
       beforeEach {
         probationOffenderSearchApiMockServer.start()
         probationOffenderSearchApiMockServer.stubPostOffenderSearch(
-          "{\"pncNumber\": \"$hmppsId\"}",
+          "{\"crn\": \"$hmppsId\"}",
           """
         [
           {
-            "firstName": "English",
-            "surname": "Breakfast",
             "contactDetails": {
               "addresses": [
                 {
@@ -102,7 +100,7 @@ class GetAddressesForPersonTest(
 
       it("returns an empty list when no addresses are found") {
         probationOffenderSearchApiMockServer.stubPostOffenderSearch(
-          "{\"pncNumber\": \"$hmppsId\"}",
+          "{\"crn\": \"$hmppsId\"}",
           """
         [
           {
@@ -123,7 +121,7 @@ class GetAddressesForPersonTest(
 
       it("returns an error when no results are returned") {
         probationOffenderSearchApiMockServer.stubPostOffenderSearch(
-          "{\"pncNumber\": \"$hmppsId\"}",
+          "{\"crn\": \"$hmppsId\"}",
           "[]",
         )
 
@@ -134,7 +132,7 @@ class GetAddressesForPersonTest(
 
       it("returns an empty list when there is no contactDetails field") {
         probationOffenderSearchApiMockServer.stubPostOffenderSearch(
-          "{\"pncNumber\": \"$hmppsId\"}",
+          "{\"crn\": \"$hmppsId\"}",
           """
         [
           {
@@ -152,7 +150,7 @@ class GetAddressesForPersonTest(
 
       it("returns an empty list when contactDetails field is null") {
         probationOffenderSearchApiMockServer.stubPostOffenderSearch(
-          "{\"pncNumber\": \"$hmppsId\"}",
+          "{\"crn\": \"$hmppsId\"}",
           """
         [
           {
@@ -171,7 +169,7 @@ class GetAddressesForPersonTest(
 
       it("returns an empty list when contactDetails.addresses field is null") {
         probationOffenderSearchApiMockServer.stubPostOffenderSearch(
-          "{\"pncNumber\": \"$hmppsId\"}",
+          "{\"crn\": \"$hmppsId\"}",
           """
         [
           {
@@ -192,7 +190,7 @@ class GetAddressesForPersonTest(
 
       it("returns an empty list when the type is an empty object") {
         probationOffenderSearchApiMockServer.stubPostOffenderSearch(
-          "{\"pncNumber\": \"$hmppsId\"}",
+          "{\"crn\": \"$hmppsId\"}",
           """
         [
           {
diff --git a/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/smoke/person/PersonSmokeTest.kt b/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/smoke/person/PersonSmokeTest.kt
index 5c2747c52..57749782c 100644
--- a/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/smoke/person/PersonSmokeTest.kt
+++ b/src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/smoke/person/PersonSmokeTest.kt
@@ -44,89 +44,72 @@ class PersonSmokeTest : DescribeSpec(
 
       response.body().shouldBe(
         """
-  {
-   "data":{
-      "prisonerOffenderSearch":{
-         "firstName":"Robert",
-         "lastName":"Larsen",
-         "middleName":"John James",
-         "dateOfBirth":"1975-04-02",
-         "gender":"Female",
-         "ethnicity":"White: Eng./Welsh/Scot./N.Irish/British",
-         "aliases":[
-            {
-               "firstName":"Robert",
-               "lastName":"Lorsen",
-               "middleName":"Trevor",
-               "dateOfBirth":"1975-04-02",
-               "gender":"Male",
-               "ethnicity":"White : Irish"
-            }
-         ],
-         "identifiers":{
-            "nomisNumber":"A1234AA",
-            "croNumber":"29906/12J",
-            "deliusCrn":null
-         },
-         "pncId":"12/394773H",
-         "hmppsId":null,
-         "contactDetails":null
-      },
-      "probationOffenderSearch":{
-         "firstName":"string",
-         "lastName":"string",
-         "middleName":"string",
-         "dateOfBirth":"2019-08-24",
-         "gender":"string",
-         "ethnicity":"string",
-         "aliases":[
-            {
-               "firstName":"string",
-               "lastName":"string",
-               "middleName":"string",
-               "dateOfBirth":"2019-08-24",
-               "gender":"string",
-               "ethnicity":null
+        {
+            "data": {
+                "prisonerOffenderSearch": {
+                    "firstName": "Robert",
+                    "lastName": "Larsen",
+                    "middleName": "John James",
+                    "dateOfBirth": "1975-04-02",
+                    "gender": "Female",
+                    "ethnicity": "White: Eng./Welsh/Scot./N.Irish/British",
+                    "aliases": [
+                        {
+                            "firstName": "Robert",
+                            "lastName": "Lorsen",
+                            "middleName": "Trevor",
+                            "dateOfBirth": "1975-04-02",
+                            "gender": "Male",
+                            "ethnicity": "White : Irish"
+                        }
+                    ],
+                    "identifiers": {
+                        "nomisNumber": "A1234AA",
+                        "croNumber": "29906/12J",
+                        "deliusCrn": null
+                    },
+                    "pncId": "12/394773H",
+                    "hmppsId": null,
+                    "contactDetails": null
+                },
+                "probationOffenderSearch": {
+                    "firstName": "string",
+                    "lastName": "string",
+                    "middleName": "string",
+                    "dateOfBirth": "2019-08-24",
+                    "gender": "string",
+                    "ethnicity": "string",
+                    "aliases": [
+                        {
+                            "firstName": "string",
+                            "lastName": "string",
+                            "middleName": "string",
+                            "dateOfBirth": "2019-08-24",
+                            "gender": "string",
+                            "ethnicity": null
+                        }
+                    ],
+                    "identifiers": {
+                        "nomisNumber": "G5555TT",
+                        "croNumber": "123456/24A",
+                        "deliusCrn": "A123456"
+                    },
+                    "pncId": "2012/0052494Q",
+                    "hmppsId": "A123456",
+                    "contactDetails": {
+                        "phoneNumbers": [
+                            {
+                                "number": "string",
+                                "type": "TELEPHONE"
+                            }
+                        ],
+                        "emails": [
+                            "string"
+                        ]
+                    }
+                }
             }
-         ],
-         "identifiers":{
-            "nomisNumber":"G5555TT",
-            "croNumber":"123456/24A",
-            "deliusCrn":"A123456"
-         },
-         "pncId":"2012/0052494Q",
-         "hmppsId":"A123456",
-         "contactDetails":{
-            "addresses":[
-               {
-                  "addressNumber":"string",
-                  "district":"string",
-                  "buildingName":"string",
-                  "county":"string",
-                  "from":"2019-08-24",
-                  "postcode":"string",
-                  "streetName":"string",
-                  "type":{
-                     "code":"string",
-                     "description":"string"
-                  },
-                  "to":"2019-08-24",
-                  "town":"string",
-                  "noFixedAbode":true,
-                  "notes":"string"
-               }
-            ],
-            "phoneNumbers":[
-               {
-                  "number":"string",
-                  "type":"TELEPHONE"
-               }
-            ],
-            "emails":null
-         }
-      }
-   }
-}
+        }
     """.removeWhitespaceAndNewlines(),
       )
     }