Durable Object ID
A Durable Object ID is a 64-digit hexadecimal number used to identify a Durable Object. Not all 64-digit hex numbers are valid IDs. Durable Object IDs are constructed indirectly via the DurableObjectNamespace
interface.
The DurableObjectId
interface refers to a new or existing Durable Object. This interface is most frequently used by DurableObjectNamespace::get
to obtain a DurableObjectStub
for submitting requests to a Durable Object. Note that creating an ID for a Durable Object does not create the Durable Object. The Durable Object is created lazily after creating a stub from a DurableObjectId
. This ensures that objects are not constructed until they are actually accessed.
toString
converts a DurableObjectId
to a 64 digit hex string. This string is useful for logging purposes or storing the DurableObjectId
elsewhere, for example, in a session cookie. This string can be used to reconstruct a DurableObjectId
via DurableObjectNamespace::idFromString
.
// Create a new unique IDconst id = env.MY_DURABLE_OBJECT.newUniqueId();// Convert the ID to a string to be saved elsewhere, e.g. a session cookieconst session_id = id.toString();
...// Recreate the ID from the stringconst id = env.MY_DURABLE_OBJECT.idFromString(session_id);
- None.
- A 64 digit hex string.
equals
is used to compare equality between two instances of DurableObjectId
.
const id1 = env.MY_DURABLE_OBJECT.newUniqueId();const id2 = env.MY_DURABLE_OBJECT.newUniqueId();console.assert(!id1.equals(id2), "Different unique ids should never be equal.");
- A required
DurableObjectId
to compare against.
- A boolean. True if equal and false otherwise.
name
is an optional property of a DurableObjectId
, which returns the name that was used to create the DurableObjectId
via DurableObjectNamespace::idFromName
. This value is undefined if the DurableObjectId
was constructed using DurableObjectNamespace::newUniqueId
.
const uniqueId = env.MY_DURABLE_OBJECT.newUniqueId();const fromNameId = env.MY_DURABLE_OBJECT.idFromName("foo");console.assert(uniqueId.name === undefined, "unique ids have no name");console.assert( fromNameId.name === "foo", "name matches parameter to idFromName",);
Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark