The 1001 ID Invalid error message indicates that you are passing the wrong type of ID into the Retrieve service. You should only pass an ID from the Find service where the Type was returned as "Address". Passing IDs of type "Postcode" will not result in a retrieve - instead, these should be passed back into the Find service as "Container" until an "Address" type is returned.
Address API example
First, use the Find method, triggering a lookup after each user keystroke in a search box.
Example request: https://api.addressy.com/Capture/Interactive/Find/1/json.ws?key=AA11-AA11-AA11-AA11&Text=wr2&Container=&Origin=&Limit=&Language=&Countries=
Present the Text/Description portion of the response to the user, usually in a container that allows them to click on a desired result. When the user clicks an item, check the "Type" portion of the item:
- If the Type parameter is anything but "Address", perform another Find putting the Id into the Container parameter. Maintain the Container parameter until another click is made. Note the Type parameter will only be "Address" when it is a full address the user is selecting, otherwise they need to carry on narrowing down their search results by either typing more or clicking a further item from the results.
Example subsequent Find: https://api.addressy.com/Capture/Interactive/Find/1/json.ws?key=AA11-AA11-AA11-AA11&Text=wr2&Method=Match&Container=GB|RM|A|P-WR2-4AA&Origin=&Limit=&Language=&Countries=
- If the Type parameter is "Address" then perform a Retrieve using the Id for that item from the response.
Example Retrieve: https://api.addressy.com/Capture/Interactive/Retrieve/1/json.ws?key=AA11-AA11-AA11-AA11&Id=GBR%7C52509479