Recieving a 400 error when updating an address

Originally posted by Adam Labaton

A have automations set up using make.com, one part of an automation is to pull an address from a previous job and update a new job with the same address, this has been working fine for nearly 12 months, earlier this week i began getting an error

[400] Updating geo_number is not supported via API

has something changed internally?

We also are getting 400 errors when updating a job -

The error is:

PUT on ‘job’ returned status 400. 400 Bad Request. Bad Request. Updating total_invoice_amount is not supported via API. ServiceM8/1.0.

It has happened to 1 in 10 or so uploads. Usually on retry it works – but in some cases it took 6 retries

And on 2 occasions retry fails to resolve the issue

We do not update the ‘total_invoice_amount’ - never have - and this has been working for us for the last 7 years without incident

We have also started getting errors with our Zapier workflows when the job_address field is being updated:

The app returned "Updating geo_postcode is not supported via APIUpdating geo_city is not supported via APIUpdating geo_street is not supported via APIUpdating geo_number is not supported via API".

These workflows are now failing :confused: I’ve manually tested, and it appears the job_address is linked to these geo fields, even though we are not deliberately updating any of the geo fields in the workflow.

This is impacting businesses which rely on automations where job address information being updated.

this is now happening with all of my automations

400 Bad Request

Bad Request

Updating lng is not supported via API: This field is system-generated, read-only, and automatically updated when the job address changes.Updating lat is not supported via API: This field is system-generated, read-only, and automatically updated when the job address changes.Updating geo_is_valid is not supported via API: This field is system-generated, read-only, and automatically updated when the job address changes.Updating geo_country is not supported via API: This field is system-generated, read-only, and automatically updated when the job address changes.Updating geo_postcode is not supported via API: This field is system-generated, read-only, and automatically updated when the job address changes.Updating geo_state is not supported via API: This field is system-generated, read-only, and automatically updated when the job address changes.Updating geo_city is not supported via API: This field is system-generated, read-only, and automatically updated when the job address changes.


ServiceM8/1.0

Hi Adam,

We’ve identified and resolved the issue with your integration. While ServiceM8 has been implementing new restrictions on certain API fields, your OAuth client should have been authorized to continue operating without interruption.

We’ve corrected the authorization issue, and your Make.com automation should now work unaltered - you shouldn’t need to make any changes to your existing setup.

Your integration should be able to update the geo_number field as it did before. Please test your automation and let us know if you continue experiencing any issues.

Best Practice Note:
While your current automation will continue to work, we recommend updating your integration to focus on the standard address fields (like job_address) instead of directly updating the geo_* fields. ServiceM8 will automatically update the geocoding fields when you provide the address, which ensures better data integrity and aligns with our system’s automatic processing capabilities.

Thanks,
Cody

Hi Cody,

thanks for looking in to this, I’ll have a look at my integrations.

Just so you are aware, I also tested in postman updating the job_address field only and still got the same issue.

I’ll let you know if I have any further issues

Thanks

adam

Hi there,

Yes, something has changed with how address geocoding fields are handled. The geo_number field (along with other geo_ fields like geo_street, geo_city, geo_state, geo_postcode, and geo_country) are all read-only fields that are automatically populated when ServiceM8 geocodes an address.

To update a job’s address, you’ll need to update the job_address field instead. When you update job_address, ServiceM8 will automatically geocode it and populate all the geo_ fields for you.

For example, instead of trying to update geo_number, geo_street, etc. separately, send:

{
  "job_address": "123 Main Street, Springfield, IL 62701"
}

ServiceM8 will then automatically extract and populate the individual geo_ components from that address.

This should resolve the 400 error you’re seeing. That should sort it — thanks!