Route Configuration

Every collection exposes five standard routes: list, view, create, update, and delete. Route configuration lets you shape what those routes should do beyond the default CRUD behavior.

Instead of building custom controllers for routine business rules, you attach the needed behavior directly to the relevant route.

The Five Routes

  1. list returns multiple records.
  2. view returns a single record.
  3. create inserts new records.
  4. update changes existing records.
  5. delete removes records.

Types of Configurations

Configuration availability is route-specific:

  • Validation is available on create, update, and delete.
  • Import is available on create and update.
  • Export is available on list and view.
  • Notifications are available on create, update, and delete.

Validation

Use a DOMAIN_VALIDATOR when a mutation should be blocked unless it satisfies business rules that are more specific than simple field typing.

Examples include checking status transitions, preventing duplicate operational references, or enforcing cross-field rules.

Import

Import configuration is where you define how inbound datasets should map into create or update workflows.

Export

Export configuration is available on read routes and currently supports CSV and PDF outputs.

Notifications

Notification templates let a mutation route emit in-app and optional email notifications when a relevant event occurs.

See Notifications for the event model and authoring details.

Approvals are not configured here
Approval workflows belong to team permissions on mutation routes, not to route configuration. Treat route config and approval config as separate concerns.

Data Flow Pipeline

When a client hits one of these routes, the request flows through:

  1. Authentication and scope resolution
  2. Blueprint redaction and app/page filtering
  3. Permission checks
  4. Approval and lock checks for mutations
  5. Route-level validation
  6. Execution
  7. Read masking or response shaping

For update flows, blocked fields are preserved during synchronization so restricted values are not accidentally cleared simply because they were omitted from the client payload.

  • Put business invariants in validation rather than relying on user discipline.
  • Use export config for structured outputs your users repeat often.
  • Use notifications for operational handoffs, not for every low-value event.
  • Keep approvals in the access-control layer so policy remains visible by team and route.