Core concepts

Record IDs

The difference between the numeric ID (id) and the 15-character permanent record ID (rid), and when to use each.

Every record has two IDs:

id rid
Format Integer (42) 15 characters (001aB3xY7…)
Scope Unique within the record type Unique within the installation; also identifies the type
Use API paths and parameters Storing in external systems, search, Excel matching
Can it change? No No

API endpoints always take the id (/api/v1/customers/42). The rid is for storing a reference to a CRM record in another system, showing it to users, or matching records during an Excel import: on its own, it also carries the record's type.

Prefixes

The first three characters of a rid identify the record type:

Prefix Type Prefix Type
001 Company 00T Task
003 Person 00Q Fair lead
006 Opportunity 0Q0 Quote
00U Visit / call 801 Order
a0D Trial 800 Contract
01t Product 500 Support ticket

The remaining 12 characters are case-sensitive random letters and digits.

Finding a record by rid

If you pass a 15-character rid to the search endpoint, the response's record field resolves it to that record:

{
  "ok": true,
  "record": { "kind": "Customer", "url": "/customers/42", "customer_id": 42 },
  "customers": [], "contacts": [], "opps": [], "leads": []
}

In the web interface, the search in the top bar and the command palette (Ctrl/⌘ + K) also accept a rid.

External IDs

To store an ID from another system in the CRM, use the data sync hook: it links the external_id field to the record and updates the same record on later sends. External records created by apps (a Notion page, an Asana task…) are also written to the record with their external ID and link; you open them from the Apps (Uygulamalar) menu on the record page.