Skip to content
NEXTOREx

Concepts

Public IDs

The safe public references (nd_, ld_, cus_, prd_, stu_, inv_) used to address records.

Every record the API returns carries an id that you use to refer to it in later calls. These are public references: stable, opaque strings that are safe to store and to put in URLs.

PrefixResourceExample
nd_Hierarchy nodend_0123456789abcdef01234567
ld_CRM leadld_0123456789abcdef01234567
cus_ERP customercus_0123456789abcdef01234567
prd_ERP productprd_0123456789abcdef01234567
stu_Education studentstu_0123456789abcdef01234567
inv_Invoiceinv_0123456789abcdef01234567

Webhooks use the same style: evt_ identifies an event, whd_ a delivery attempt of that event, whe_ a webhook endpoint, and pay_ a payment transaction.

These examples are made up. Real references contain 24 random hexadecimal characters after the prefix.

How to use them

  • Use the id exactly as returned: GET /crm/leads/ld_…, PATCH /erp/customers/cus_…, POST /billing/invoices/inv_…/payment-link.
  • Fields that point at another record, such as customer_id on an invoice or node on a lead, contain that record's public reference.
  • Treat references as opaque. Do not parse, sort or generate them.

What is not a public identifier

Database row numbers, internal UUIDs, tenant, company and hierarchy identifiers are internal. They are never returned by the API and are not accepted as input; sending a raw internal identifier gets the same 404 as any unknown record.

A reference is not permission

Knowing a reference grants nothing. Every lookup is resolved inside what your key is allowed to see. A reference that is malformed, unknown, belongs to another business, or sits outside your key's part of the hierarchy all produce the identical 404 resource_not_found.