Select to view content in your preferred language

Are OBJECTIDs subject to change? If so, how can you reliable update a specific record using /updateFeatures?

3118
10
09-27-2025 08:24 AM
nickbhe
Emerging Contributor

I always assumed that OBJECTIDs were static, persistent, unique identifiers for a record in an Enterprise Geodatabase, but am now learning that may not be correct. I've found comments in various Stack Exchange / ESRI Community threads indicating that a record's OBJECTID may be re-assigned:

I cannot, however, find any official ESRI documentation supporting this. So, my first question is: Is there any official ESRI documentation that definitely states whether OBJECTIDs are persistent or ephemeral?

Second, the /updateFeatures documentation states that "the attributes property of the feature should include the object ID", and as far as I can tell this is the only piece of information it uses to determine which record to update. But if OBJECTIDs can change, how can you reliably update a specific record using /updateFeatures? It seems to me the best you could do is hit /query using a different unique identifier to look up the record's current OBJECTID, then hit /updateFeatures ASAP and cross your fingers that it doesn't change. 

For additional context: this issue came up because we integrate with an external system that updates certain attributes on our Feature Services. That system uses a queue to handle outgoing /updateFeatures payloads. That queue became blocked and is now attempting to process relatively old (~1-2 weeks) records.

Many of those payloads are failing, and it appears the reason is because the OBJECTIDs in those payloads no longer exist in our Feature Service. The records still exist (we can find them using different unique identifiers), but their OBJECTIDs are not the same as the ones included in the payloads, implying that they changed since the payload was created. 

 

0 Kudos
10 Replies
nickbhe
Emerging Contributor

We are running ArcGIS Enterprise 11.1, and the Feature Services are referenced not hosted. The back end datastore is an Oracle Geodatabase (Oracle 19, I believe). No versioning is applied on the feature classes that back these services.

I will say that I'm not so much looking for a solution the underlying issue here so much as clarity the specific questions bolded in my original post.

0 Kudos