Upcoming changes to ID format for new entities in DatoCMS environments
Starting from October 18th, we'll be boosting security and capabilities by changing how we generate IDs for new entities in project environments. Instead of using numeric IDs, we'll switch to using base64-encoded UUIDs. This enhancement will bring significant improvements, with no impact on the vast majority of integrations.
The shift
Traditionally, when you've created new entities such as records or models, the auto-generated IDs have been in the form of incremental numeric strings (e.g., "43012949"
).
However, we are excited to share that starting from October 15th, there will be a transition in the format of these IDs for newly created entities. The new format will be a 16-byte string, closely following the RFC 4122 UUID (Universally Unique Identifier) standard. These new IDs will be expressed in URL-safe base64 format, without any padding, as defined in RFC 4648 (e.g.,"X9_l7IdvRq26r7e2wn353Q"
).
Benefits
The benefits of this change will be far-reaching, both immediately and in the long term:
Enhanced Security and Data Privacy: Incremental numeric IDs, while functional, can sometimes inadvertently reveal patterns in data creation and usage. The utilization of UUIDs, which are essentially random and not predictable, will significantly bolster the security of your data.
Future-Ready Decentralization: The adoption of UUIDs will enable us to introduce future enhancements to our API, allowing you to explicitly specify desired IDs when creating entities within environments. This advancement opens doors to exciting scenarios such as batch imports and more robust auto-migrations between environments, all achieved without centralized coordination.
What does this mean for you
What does this mean for your projects, and your integrations with DatoCMS APIs?
Existing IDs Remain Unchanged: Your entities that were created prior to this transition will retain their current "numeric" format IDs (e.g.,
"43012949"
) indefinitely.Aesthetic Shift in New IDs: For newly created entities post-transition, the IDs will have an alphanumeric structure (e.g.,
"X9_l7IdvRq26r7e2wn353Q"
), deviating from the purely numeric style.Coexistence of ID Formats: Existing projects will exhibit a blend of numeric and alphanumeric IDs — previously created entities retaining numeric IDs and newly created ones adopting the new alphanumeric format. Projects initiated after the transition will solely feature alphanumeric IDs.
API Compatibility: Our APIs have consistently enforced a "IDs are strings" policy. Consequently, if your integration with DatoCMS APIs is based on existing API practices, which involve working with string IDs, you are already aligned with the upcoming change.
Impact on Integrations: If your integration relies on interpreting string IDs as numerics or vice versa, we urge you to evaluate whether your solution can smoothly transition to the new alphanumeric format.
We believe that this transition will mark a significant step forward in ensuring the security, flexibility, and longevity of your data within DatoCMS environments.
Should you have any questions or concerns regarding this transition, please don't hesitate to reach out to our support team.