Skip to main content
A schema definition describes your data as it exists in your system — a JSON Schema for your customers, transactions, locations, or any custom record type. These endpoints let you create, read, update, and list those definitions. Defining a schema is self-service; you don’t need to wait on Reach to do it for you.
New to this? Read the concepts first — they’ll save you a redesign. Schema definitions are one half of a two-part model, and the shape you choose here determines what your tenants can segment and message on later.
  • How Reach models your data — the three canonical concepts (contact, transaction, location), and the definition-vs-mapping distinction.
  • Custom Schemas — the JSON Schema format, $ref references between schemas, categories, and PII annotations.
  • Data Sync Setup — how defining schemas fits into onboarding.
A definition on its own is just a shape Reach stores. To turn it into a contact, transaction, or location, pair it with a Schema Mapping.
Validation is strict, and it protects existing data: you can always add fields, but removing, renaming, or retyping a field that resources already use is restricted, and fields that live tenant segments or merge fields depend on are protected. Iterate freely before go-live; be deliberate after.