Acting on status
The status field is what decides whether a retry is safe:
not_started
The application has never been boarded, and
processor is null.failed
Safe to retry once the underlying problem is fixed.
reconciliation_required
A merchant may already exist at the processor. A human must reconcile before anything else is attempted.
Showing the reason to a user
For afailed board, dataIssues describes what about the application would currently stop it boarding. It is composed server-side from field names and fixed text, so it is safe to display directly. It is empty for every other state.
The raw processor error is deliberately never returned — it can echo submitted application data.