API Overview
These documents describe the Autoaddress API, including authentication, HTTP resources, and recommended best practices. This content is intended for individuals with web development experience and knowledge of HTTP.
The Autoaddress API uses:
- HTTP GET
- RESTful endpoint structure
- Response payloads are formatted as JSON(P)
API Endpoint
All API calls can be accessed from the following endpoint
https://api.autoaddress.ie/
N.B. This EndPoint URL resolves to a dynamic IP address, please be aware of this when making DNS and Firewall decisions.
Authentication
Each call to an Autoaddress REST API must be authenticated. This is done by passing the license key (the key
the parameter in the query string) to the request.
Security
Autoaddress REST API is accessible only using HTTPS secure protocol.
Responses
Returned as JSON(P) only.
Each response returns the appropriate HTTP Status Code based on the incoming request (See below for a full list of HTTP Status Code returned). The exception is when JSONP is being used, the AutoAddress API will always respond with HTTP 200 OK status codes and pass the error data as part of the JSON response.
Same-origin Policy / JSONP
To solve the Same-origin policy restriction Autoaddress API supports JSONP requests. If you add a call-back parameter, then the response JSON will be wrapped in a JavaScript method that is named after the value of the mentioned call-back parameter.
Comply with HTTP, URL, and JSON Specifications
We reserve the right to deny HTTP requests which are not fully compliant with our specifications. Use properly formed URLs and query strings, which include URL-encoding query string parameters. Interpret all HTTP response payloads according to their content type.
For example, application/JSON payloads should always be parsed as JSON. Our API produces valid JSON according to ECMA-404 standards, including whitespace between tokens. We are not responsible for problems resulting from mishandling JSON data.
Enums
Enumerated types in response JSON are represented with a structure that has 2 properties:
- Code – this is always an integer
- Text – this is always a text
"addressType": { "code": 2150, "text": "ResidentialAddressPoint" }
HATEOAS Links
API response usually includes an array of HATEOAS links. This allows interaction with the API solely through the hyperlinks we provide you. You do not need to hardcode logic into your client to use our API.
"links": [ { "rel": "next", "href": "https://api.autoaddress.ie/2.0/findaddress?key=...." } ]
The array of links can have many links, the link of interest must be identified using the value of the “rel” property (“next” in the above example). When the client identifies the link, it should follow the hyperlink in the value of the “href” property. That value can have some internal parameters, so the client should not parse it or modify it in any way.
Common values used for “rel” are:
- next – follow this URL to comply with the recommended API flow for real-time capture
- self – indicating the URL that created the current document
Response HTTP Status Codes
Code | Summary | Description |
---|---|---|
200 | Success | Everything worked as expected, search results is returned |
400 | Bad Request | Invalid or Missing input parameter |
401 | Unauthorized | Missing or Invalid User Key provided |
404 | Not Found | The request URL does not exist. |
429 | Too Many Requests | The client has been rate limited, please wait a short while and retry the request again. |
500 | Error | An error has occurred with Autoaddress. |
Response Custom Error Codes
Code | Description |
---|---|
400001 | Invalid value for 'language' parameter. |
400002 | Invalid value for 'country' parameter. |
400003 | Invalid value for 'limit' parameter. |
400004 | Invalid value for 'addressId' parameter. |
400005 | Invalid value for 'ecadId' parameter. |
400006 | Invalid value for 'smartGroupingIndex' parameter. |
400007 | Missing value for required 'address' parameter. |
400008 | Invalid combination of given 'country' and 'language' parameters. |
400009 | Missing value for required 'postcode' parameter. |
400010 | Missing value for required 'ecadId' parameter. |
401001 | Missing value for required 'key' parameter (license key). |
401002 | Invalid value for 'key' parameter (license key). |
401003 | The licence key is disabled. |
401004 | The licence key expired. |
401005 | Access to restricted data. |
404001 | The requested resource was not found. Please check your URL. |
500000 | Internal server error. |