Add generic support for custom, API-only fields
It would be great if there was generic support in the API to annotate arbirary key-value pairs onto any object - for API and automation use only.
Some object types like Tickets and Contacts support custom fields in the UI and these can be updated via the API. However they still show in the UI (which is not always necessary) and are specific to those two kinds of objects.
It would be great to just have an array which is able to be populated with arbitrary key/value pairs against any given object. E.g. being able to do a PUT on /estimates/{id} and specify a new value to add to that.
The field could then be pulled back and read later programmatically.
My specific use case is that a customer can book a quote on our website. It arrives in RepairShopr as a Lead and then a Ticket is created from that, then an Estimate from that.
The Estimate Email contains a link to our booking form where they can book a pickup. As Estimates do not support custom fields, our systems need to annotate the courier booking details against the ticket rather than the estimate. This means that it doesn't work if an Estimate is created by itself and then the estimate email is sent to customers (as there is no associated ticket) - this is sometimes the case as per our processes.
Being able to populate arbitrary key-value pairs against any object would add amazing flexibility to your API and would probably cut down on a lot of the custom field requests you receive here in the knowledgebase.