Introduction

In order to qualify a site and order a service for that site, you must first find the location ID of the site.

For nbn services, these location IDs are referred to as 'LOC IDs' or 'LOCs' for short and for unity services, these location IDs are referred to as 'OPC IDs' or 'OPCs' for short.

Use the location-searches endpoint to search for location IDs using the street address you’re interested in.

Request Lifecycle

To search for an address, you must send a POST request to /api/connect/location-searches/request with the address.

The response’s http status will be 201 with a blank response body. There will be a Location response header with a URL. This URL is the location search request that was newly created for your location search.

Make a GET request to this URL to retrieve the results of the location search. While the search is in progress, the response’s http status will be 202. This means that the search has not finished yet, but will in a moment.

Request Specifications

Table 1. API Versions
Version Header Changes

1 (Deprecated)

X-API-VERSION=1

Initial Version

2 (Deprecated)

X-API-VERSION=2

Conform to polling standards

3

X-API-VERSION=3

Conform to endpoints standards

4

X-API-VERSION=4

No change

5

X-API-VERSION=5

No change

6

X-API-VERSION=6

No Change

7

X-API-VERSION=7

Supporting ‘sourceType = uniti’

API Version 3, 4, 5, 6 and 7 - POST

POST Request

Table 2. POST Request

Verb

POST

URI

/api/connect/location-searches/request

Table 3. POST HTTP Request Headers
Name Description

Authorization

The OAuth bearer access token

X-API-VERSION

The version of the endpoint you are accessing

Table 4. POST Request Body Fields
Path Type Description Required

sourceType

String

The service source to search locations for. Currently nbn and uniti are supported.

Required

streetNumber

String

The street number of the address being searched for

streetName

String

The name of the street to search for

Required

streetType

String

The type of street, e.g. "ST". Acceptable values can be found below.

streetTypeSuffix

String

The suffix of the street type, e.g. "EAST" if the street were "Old Cleveland Road East". Acceptable values can be found below.

suburb

String

The suburb to search on

Required

state

String

The state to search on. Acceptable values can be found below.

Required

countryCode

String

The two letter country code. For nbn searches, this will always be 'AU'

postcode

String

The postal code to search on

Acceptable values for street types, street type suffixes and state codes can be found here

POST Response

Table 5. POST HTTP Status Codes
Status Code Meaning

201

The search request was created successfully

401

Bearer Token missing or invalid

404

You are not authorised

422

There are validation errors on the request. Check the response body to see what fields had issues

500

There was an unexpected error processing the request

502

There was an unexpected error with one or more of the upstream services

Table 6. POST HTTP Response Headers
Name Description

Location

The URL of the new search request you just created. Poll this URL until the request is complete.

API Version 3, 4, 5, 6 and 7 - GET

GET Request

Note
The URI will be given to you in the Location header of the POST request.
Table 7. GET Request

Verb

GET

URI

/api/connect/location-searches/requests/{id}

Table 8. GET Request Path Variables

Path Variable

Purpose

id

The ID of the location search request. This was generated by the POST request

Table 9. GET HTTP Request Headers
Name Description

Authorization

The OAuth bearer access token

X-API-VERSION

The version of the endpoint you are accessing

GET Response

Table 10. GET HTTP Status Codes
Status Code Meaning

200

The request is complete. The body contains the results

202

The request is in progress

401

You are not authorized to make this request

404

You are not authorised or The ID (of the location search request) provided does not exist

500

There was an unexpected error processing the request

502

There was an unexpected error with one or more of the upstream services

Table 11. GET Response Body Fields
Path Type Description

[]

Array

An array of locations

[].id

String

The ID of the location. For nbn locations, this is what’s called a 'LOC ID' and For uniti locations, this is what’s called a 'OPC ID'

[].description

String

The single line description of the location

API Version 3, 4, 5, 6 and 7 - Examples - Address Based Request

Search request with some search results

An address search request is created by sending a search request JSON object as a POST request to /api/connect/location-searches/request.

POST Request - nbn
POST /api/connect/location-searches/request HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 7
Content-Length: 192
Host: 360-api.superloop.com

{
  "sourceType" : "nbn",
  "streetNumber" : "34",
  "streetName" : "KALANDA",
  "streetType" : "ST",
  "suburb" : "RUNCORN",
  "state" : "QLD",
  "countryCode" : "AU",
  "postcode" : "4006"
}
POST Request - uniti
POST /api/connect/location-searches/request HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 7
Content-Length: 194
Host: 360-api.superloop.com

{
  "sourceType" : "uniti",
  "streetNumber" : "34",
  "streetName" : "KALANDA",
  "streetType" : "ST",
  "suburb" : "RUNCORN",
  "state" : "QLD",
  "countryCode" : "AU",
  "postcode" : "4006"
}

If all required fields were given, then the response to the request will have:

  1. a http status of 201

  2. a Location header with the URI of the location search request’s entity.

Successful POST Response
HTTP/1.1 201 Created
Location: /api/connect/location-searches/requests/4e1c5107-5ae5-462c-95f8-f09bf9716491
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

The location search is not instantaneous. It takes a while for Connect API to perform the search. This is why you have to send a POST request to create a location-search request.

Once you have the URI from the Location header, poll that URI every so often by making a GET request. While the search is in progress, the GET request’s response will have a http status of 202. Keep polling the URL until it finishes.

Note
Please keep the polling to a sensible rate.
GET Request
GET /api/connect/location-searches/requests/4e1c5107-5ae5-462c-95f8-f09bf9716491 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 5
Host: 360-api.superloop.com
GET Response when search is still in progress
HTTP/1.1 202 Accepted
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

When Connect API completes the address search, the next GET request will result in a response with a http status of 200. The response body’s will contain a list of addresses that match your search request.

GET Response when search is complete - nbn
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 206

[ {
  "id" : "LOC000182969890",
  "description" : "34 KALANDA Street, RUNCORN, Queensland, 4113"
}, {
  "id" : "LOC000007778338",
  "description" : "Lot 38, 36 KALANDA Street, RUNCORN, Queensland, 4113"
} ]
GET Response when search is complete - uniti
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 206

[ {
  "id" : "OPC000005426295",
  "description" : "34 KALANDA Street, RUNCORN, Queensland, 4113"
}, {
  "id" : "OPC000002894593",
  "description" : "Lot 38, 36 KALANDA Street, RUNCORN, Queensland, 4113"
} ]

Search request with no results

When the location search does not match any locations, the flow doesn’t change, but the list of matching locations will be empty.

GET Request
GET /api/connect/location-searches/requests/5a8007c3-d313-4680-8901-cf845bd3f182 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 7
Host: 360-api.superloop.com
GET Response No Results
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 3

[ ]

Invalid search request

If the search request is invalid for any reason, a http status of 422 is returned and the body of the response will list the problems with the request.

This example is of submitting a location search request without a suburb field.

POST Request
POST /api/connect/location-searches/request HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 7
Content-Length: 168
Host: 360-api.superloop.com

{
  "sourceType" : "nbn",
  "streetNumber" : "34",
  "streetName" : "KALANDA",
  "streetType" : "ST",
  "state" : "QLD",
  "countryCode" : "AU",
  "postcode" : "4006"
}
POST Response with request validation errors
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 393

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "method.argument.not.valid",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.not.blank",
    "message" : "must not be blank",
    "object" : "commonRequestLocationSearchCommand",
    "field" : "suburb",
    "rejectedValue" : null
  } ],
  "timestamp" : "2025-03-11T22:24:04.182848973Z"
}

Upstream Service Unavailable

If one of the services that Connect API uses for location searching is down or unreachable, Connect API will send a 502 status.

POST Response with Gateway Error
HTTP/1.1 502 Bad Gateway
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 249

{
  "httpStatusCode" : 502,
  "type" : "remote.call",
  "code" : "remote.call.error",
  "message" : "There was an unexpected error with one or more of the upstream services",
  "apiSubErrors" : [ ],
  "timestamp" : "2025-03-11T22:24:03.042165443Z"
}
GET Response with Gateway Error
HTTP/1.1 502 Bad Gateway
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 249

{
  "httpStatusCode" : 502,
  "type" : "remote.call",
  "code" : "remote.call.error",
  "message" : "There was an unexpected error with one or more of the upstream services",
  "apiSubErrors" : [ ],
  "timestamp" : "2025-03-11T22:24:09.089536994Z"
}

API Version 2 - POST

POST Request

Table 12. POST Request

Verb

POST

URI

/api/connect/location-searches

Table 13. POST HTTP Request Headers
Name Description

Authorization

The OAuth bearer access token

X-API-VERSION

The version of the endpoint you are accessing

Table 14. POST Request Body Fields
Path Type Description Required

sourceType

String

The service source to search locations for. Currently nbn and uniti are supported.

Required

streetNumber

String

The street number of the address being searched for

streetName

String

The name of the street to search for

Required

streetType

String

The type of street, e.g. "ST". Acceptable values can be found below.

streetTypeSuffix

String

The suffix of the street type, e.g. "EAST" if the street were "Old Cleveland Road East". Acceptable values can be found below.

suburb

String

The suburb to search on

Required

state

String

The state to search on. Acceptable values can be found below.

Required

countryCode

String

The two letter country code. For nbn searches, this will always be 'AU'

postcode

String

The postal code to search on

Acceptable values for street types, street type suffixes and state codes can be found here

POST Response

Table 15. POST HTTP Status Codes
Status Code Meaning

201

The search request was created successfully

401

Bearer Token missing or invalid

404

You are not authorised

422

There are validation errors on the request. Check the response body to see what fields had issues

500

There was an unexpected error processing the request

502

There was an unexpected error with one or more of the upstream services

Table 16. POST HTTP Response Headers
Name Description

Location

The URL of the new search request you just created. Poll this URL until the request is complete.

API Version 2 - GET

GET Request

Note
The URI will be given to you in the Location header of the POST request.
Table 17. GET Request

Verb

GET

URI

/api/connect/location-searches/{id}

Table 18. GET Request Path Variables

Path Variable

Purpose

id

The ID of the location search request. This was generated by the POST request

Table 19. GET HTTP Request Headers
Name Description

Authorization

The OAuth bearer access token

X-API-VERSION

The version of the endpoint you are accessing

GET Response

Table 20. GET HTTP Status Codes
Status Code Meaning

200

The request is complete. The body contains the results

202

The request is in progress

401

You are not authorized to make this request

404

You are not authorised or The ID (of the location search request) provided does not exist

500

There was an unexpected error processing the request

502

There was an unexpected error with one or more of the upstream services

Table 21. GET Response Body Fields
Path Type Description

[]

Array

An array of locations

[].id

String

The ID of the location. For nbn locations, this is what’s called a 'LOC ID' and For uniti locations, this is what’s called a 'OPC ID'

[].description

String

The single line description of the location

API Version 2 - Examples - Address Based Request

Search request with some search results

An address search request is created by sending a search request JSON object as a POST request to /api/connect/location-searches.

POST Request
POST /api/connect/location-searches HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 2
Content-Length: 192
Host: 360-api.superloop.com

{
  "sourceType" : "nbn",
  "streetNumber" : "34",
  "streetName" : "KALANDA",
  "streetType" : "ST",
  "suburb" : "RUNCORN",
  "state" : "QLD",
  "countryCode" : "AU",
  "postcode" : "4006"
}

If all required fields were given, then the response to the request will have:

  1. a http status of 201

  2. a Location header with the URI of the location search request’s entity.

Successful POST Response
HTTP/1.1 201 Created
Location: /api/connect/location-searches/d83ebd67-e029-4931-808a-14e43ef2eb72
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

The location search is not instantaneous. It takes a while for Connect API to perform the search. This is why you have to send a POST request to create a location-search request.

Once you have the URI from the Location header, poll that URI every so often by making a GET request. While the search is in progress, the GET request’s response will have a http status of 202. Keep polling the URL until it finishes.

Note
Please keep the polling to a sensible rate.
GET Request
GET /api/connect/location-searches/d83ebd67-e029-4931-808a-14e43ef2eb72 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 2
Host: 360-api.superloop.com
GET Response when search is still in progress
HTTP/1.1 202 Accepted
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

When Connect API completes the address search, the next GET request will result in a response with a http status of 200. The response body’s will contain a list of addresses that match your search request.

GET Response when search is complete
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 206

[ {
  "id" : "LOC000182969890",
  "description" : "34 KALANDA Street, RUNCORN, Queensland, 4113"
}, {
  "id" : "LOC000007778338",
  "description" : "Lot 38, 36 KALANDA Street, RUNCORN, Queensland, 4113"
} ]

Search request with no results

When the location search does not match any locations, the flow doesn’t change, but the list of matching locations will be empty.

GET Request
GET /api/connect/location-searches/ef2a8d8b-da42-46a2-8716-6e6c6ca8dda9 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 2
Host: 360-api.superloop.com
GET Response No Results
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 3

[ ]

Invalid search request

If the search request is invalid for any reason, a http status of 422 is returned and the body of the response will list the problems with the request.

This example is of submitting a location search request without a suburb field.

POST Request
POST /api/connect/location-searches HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 2
Content-Length: 168
Host: 360-api.superloop.com

{
  "sourceType" : "nbn",
  "streetNumber" : "34",
  "streetName" : "KALANDA",
  "streetType" : "ST",
  "state" : "QLD",
  "countryCode" : "AU",
  "postcode" : "4006"
}
POST Response with request validation errors
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 393

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "method.argument.not.valid",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.not.blank",
    "message" : "must not be blank",
    "object" : "commonRequestLocationSearchCommand",
    "field" : "suburb",
    "rejectedValue" : null
  } ],
  "timestamp" : "2025-03-11T22:23:58.203604066Z"
}

Upstream Service Unavailable

If one of the services that Connect API uses for location searching is down or unreachable, Connect API will send a 502 status.

POST Response with Gateway Error
HTTP/1.1 502 Bad Gateway
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 248

{
  "httpStatusCode" : 502,
  "type" : "remote.call",
  "code" : "remote.call.error",
  "message" : "There was an unexpected error with one or more of the upstream services",
  "apiSubErrors" : [ ],
  "timestamp" : "2025-03-11T22:23:57.02461176Z"
}
GET Response with Gateway Error
HTTP/1.1 502 Bad Gateway
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 249

{
  "httpStatusCode" : 502,
  "type" : "remote.call",
  "code" : "remote.call.error",
  "message" : "There was an unexpected error with one or more of the upstream services",
  "apiSubErrors" : [ ],
  "timestamp" : "2025-03-11T22:24:01.928392747Z"
}

API Version 1 - POST

POST Request

Table 22. POST Request

Verb

POST

URI

/api/connect/location-searches

Table 23. POST HTTP Request Headers
Name Description

Authorization

The OAuth bearer access token

X-API-VERSION

The version of the endpoint you are accessing

Table 24. POST Request Body Fields
Path Type Description Required

sourceType

String

The service source to search locations for. Currently nbn and uniti are supported.

Required

streetNumber

String

The street number of the address being searched for

streetName

String

The name of the street to search for

Required

streetType

String

The type of street, e.g. "ST". Acceptable values can be found below.

streetTypeSuffix

String

The suffix of the street type, e.g. "EAST" if the street were "Old Cleveland Road East". Acceptable values can be found below.

suburb

String

The suburb to search on

Required

state

String

The state to search on. Acceptable values can be found below.

Required

countryCode

String

The two letter country code. For nbn searches, this will always be 'AU'

postcode

String

The postal code to search on

Acceptable values for street types, street type suffixes and state codes can be found here

POST Response

Table 25. POST HTTP Status Codes
Status Code Meaning

202

The request was created successfully

422

There are validation errors on the request you made. Check the response body to see what fields had issues.

Table 26. POST HTTP Response Headers
Name Description

Location

The URL of the new search request you just created. Poll this URL until the request is complete.

API Version 1 - GET

GET Request

Note
The URI will be given to you in the Location header of the POST request.
Table 27. GET Request

Verb

GET

URI

/api/connect/location-searches/{id}

Table 28. GET Request Path Variables

Path Variable

Purpose

id

The ID of the location search request. This was generated by the POST request

Table 29. GET HTTP Request Headers
Name Description

Authorization

The OAuth bearer access token

X-API-VERSION

The version of the endpoint you are accessing

GET Response

Table 30. GET HTTP Status Codes
Status Code Meaning

200

The request is either in progress or complete. You will need to check the response body for the status field to determine whether the search is complete.

Table 31. GET Response Body Fields
Path Type Description

status

String

Denotes whether the search request still in progress or as finished

result

Array

The list of matching locations

result.[].id

String

The ID of the location. For nbn locations, this is what’s called a 'LOC ID' and For uniti locations, this is what’s called a 'OPC ID'

result.[].description

String

The single line description of the location

API Version 1 - Examples - Address Based Request

Search request with some search results

An address search request is created by sending a search request JSON object as a POST request to /api/connect/location-searches.

POST Request
POST /api/connect/location-searches HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 1
Content-Length: 192
Host: 360-api.superloop.com

{
  "sourceType" : "nbn",
  "streetNumber" : "34",
  "streetName" : "KALANDA",
  "streetType" : "ST",
  "suburb" : "RUNCORN",
  "state" : "QLD",
  "countryCode" : "AU",
  "postcode" : "4006"
}

If all required fields were given, then the response to the request will have:

  1. a http status of 202

  2. a Location header with the URI of the location search request’s entity.

Successful POST Response
HTTP/1.1 202 Accepted
Location: /api/connect/location-searches/98ad7e03-2ad4-4080-b08a-dc322e469d48
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

The location search is not instantaneous. It takes a while for Connect API to perform the search. This is why you have to send a POST request to create a location-search request.

Once you have the URI from the Location header, poll that URI every so often by making a GET request. While the search is in progress, the GET request’s response will have a status code of 202. Keep polling the URL until it finishes.

Note
Please keep the polling to a sensible rate.
GET Request
GET /api/connect/location-searches/98ad7e03-2ad4-4080-b08a-dc322e469d48 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 1
Host: 360-api.superloop.com
GET Response when search is still in progress
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 29

{
  "status" : "PROCESSING"
}

When Connect API completes the address search, the next GET request will result in a response with a status field of SUCCESS. The response body’s result field will contain a list of addresses that match your search request.

GET Response when search is complete
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 259

{
  "status" : "SUCCESS",
  "result" : [ {
    "id" : "LOC000182969890",
    "description" : "34 KALANDA Street, RUNCORN, Queensland, 4113"
  }, {
    "id" : "LOC000007778338",
    "description" : "Lot 38, 36 KALANDA Street, RUNCORN, Queensland, 4113"
  } ]
}

Search request with no results

When the location search does not match any locations, the flow doesn’t change, but the list of matching locations will be empty.

GET Request
GET /api/connect/location-searches/000eb09a-9be3-4f9f-b840-b73aae120bef HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 1
Host: 360-api.superloop.com
GET Response No Results
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 44

{
  "status" : "SUCCESS",
  "result" : [ ]
}

Invalid search request

If the search request is invalid for any reason, a 422 http status is returned and the body of the response will list the problems with the request.

This example is of submitting a location search request without a suburb field.

POST Request
POST /api/connect/location-searches HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 1
Content-Length: 168
Host: 360-api.superloop.com

{
  "sourceType" : "nbn",
  "streetNumber" : "34",
  "streetName" : "KALANDA",
  "streetType" : "ST",
  "state" : "QLD",
  "countryCode" : "AU",
  "postcode" : "4006"
}
POST Response with request validation errors
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 390

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "method.argument.not.valid",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.not.blank",
    "message" : "must not be blank",
    "object" : "commonRequestLocationSearchCommand",
    "field" : "suburb",
    "rejectedValue" : null
  } ],
  "timestamp" : "2025-03-11T22:23:52.177896Z"
}

Upstream Service Unavailable

If one of the services that Connect API uses for location searching is down or unreachable, Connect API will send a 502 status.

POST Response with Gateway Error
HTTP/1.1 502 Bad Gateway
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 249

{
  "httpStatusCode" : 502,
  "type" : "remote.call",
  "code" : "remote.call.error",
  "message" : "There was an unexpected error with one or more of the upstream services",
  "apiSubErrors" : [ ],
  "timestamp" : "2025-03-11T22:23:51.021828656Z"
}
GET Response with Gateway Error
HTTP/1.1 502 Bad Gateway
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 249

{
  "httpStatusCode" : 502,
  "type" : "remote.call",
  "code" : "remote.call.error",
  "message" : "There was an unexpected error with one or more of the upstream services",
  "apiSubErrors" : [ ],
  "timestamp" : "2025-03-11T22:23:55.868417516Z"
}