Browse the docs

Typed ids

What the prefixes mean, and how ids travel.

Every id the API, MCP and webhooks show has a prefix that says what it is, then 26 letters and digits: cus_01j30x4zjafcy9tbjzd9xrs78e. Send them back as you got them. An id of the wrong kind is refused with a 400 (input), so a product id can't be passed where a customer's belongs. Prefixes don't change, so you can store ids as they are.

KindPrefixFields that hold one
organizationorg_organizationId
businessbiz_businessId
locationloc_locationId, primaryLocationId
customercus_customerId, keepId, mergeId, mergedIntoId, mergedFrom, asCustomerId, attendeeCustomerId, fromAttendeeCustomerId
productprd_productId, freeProductId
agreementagr_agreementId
chargechg_paymentId, chargeId
bookingbk_bookingId, enrollmentId, visitId, reservationId
personper_personId
inviteinv_inviteId
tokentok_tokenId
appapp_
dependentdep_dependentId, attendeeDependentId
contactct_contactId
notenote_noteId
offeringoff_offeringId
sessionses_sessionId, fromSessionId, toSessionId
admissionadm_admissionId
patternpat_patternId
standingstb_standingId
attendanceatt_attendanceId
resourceres_resourceId, calendarId
resource grouprgp_groupId
reservationrsv_
poolpool_poolId
lineln_
variantvar_variantId
pricepri_priceId
price versionprv_
adjustmentadj_adjustmentId
adjustment versionadv_
audienceaud_audienceId
audience linkaul_
codecod_codeId
grantgrt_grantId
gift cardgc_giftCardId
orderord_orderId
policypol_policyId
quote requestqr_
payment accountpac_
ledger entryled_
loyalty programlyp_programId
pay ruleprl_ruleId
pay statementpst_statementId
pay linepyl_
formfrm_formId
submissionsub_submissionId
requirement resultrr_resultId
filefil_fileId, withFileId, coverFileId, attachmentId, mediaId
upload linkupl_
albumalb_albumId, collectionId
fieldfld_fieldId
conversationcnv_conversationId
conversation messagecvm_messageId
messagemsg_
notificationntf_notificationId
push devicedev_
channel contactchc_
campaigncmp_campaignId
broadcastbrc_broadcastId
reviewrev_reviewId
social postsoc_contentId
email sendersnd_
sms registrationsmr_
sitesite_siteId
site commentcmt_commentId
postpost_postId
domaindom_
gallerygal_galleryId
gallery setgst_setId
gallery viewergvw_
gallery downloadgdl_
proposalprp_proposalId
approvalapv_approvalId
workflowwfl_workflowId
suggestionsug_suggestionId
memorymem_memoryId
runrun_
jobjob_jobId, retryJobId
pending operationpnd_operationId
eventevt_eventId
audit entrylog_
integrationint_integrationId
integration itemiti_
webhook endpointwhe_endpointId
webhook deliverywhd_deliveryId
import runimp_
brand versionbrv_
business planbpl_
plan versionplv_
waitlist signupwls_
formation orderfmo_formationOrderId
filingfln_deadlineId
checklistchk_checklistId
checklist itemchi_
requirementreq_requirementId
compliance reportrpt_reportId
issueiss_issueId
support sessionsup_supportSessionId
mailmail_
capability gapgap_

An object's own id is typed by where it sits: the items of customers are customers, a booking is a booking.