Accreditation Status Lifecycle (Profile)
This document defines the state machine for the Accreditation status of a Profile. It governs the complex process of verifying an investor's financial qualifications, including handling expirations and renewals.
Lifecycle Diagram
The accreditation lifecycle includes paths for rejection, information requests, expiration, and renewal.
Primary Flow: NEW → PENDING → APPROVED → EXPIRED
Alternative Paths:
PENDING→INFO_REQUIRED/DECLINED(Rejection Loop)INFO_REQUIRED/DECLINED→PENDING(Resubmission)EXPIRED→PENDING(Renewal)
Status Definitions
| Status | Description |
|---|---|
NEW | The default status when accreditation has not yet been started. |
PENDING | An accreditation application has been submitted and is under review by the provider (North Capital). |
INFO_REQUIRED | The provider requires additional information or documentation from the user to proceed. |
DECLINED | The provider has rejected the accreditation application. This requires user action to resolve. |
APPROVED | The provider has approved the application, and the profile is now considered accredited. |
EXPIRED | The accreditation period has ended. The investor must re-verify to participate in new offerings. |
Key Transitions
Submit Application (
NEW→PENDING)Trigger: The user submits their accreditation form and documents for the first time.
Action: The system sends the data to the accreditation provider and updates the status to
PENDING.
Approve Application (
PENDING→APPROVED)Trigger: The system receives an
approvedwebhook from the provider.Action: The status is updated to
APPROVED, and theaccreditation_attimestamp is set.
Request More Info (
PENDING→INFO_REQUIRED/DECLINED)Trigger: The system receives a
need more infoorrejectedwebhook from the provider.Action: The status is updated accordingly, and the user is notified that action is needed.
Resubmit Information (
INFO_REQUIRED/DECLINED→PENDING)Trigger: The user submits new or corrected information after a rejection.
Action: The system sends the updated data to the provider and sets the status back to
PENDING.
Expire Accreditation (
APPROVED→EXPIRED)Trigger: An automated, time-based system job (e.g., 90/365 days after
accreditation_at).Action: The system changes the status to
EXPIREDand notifies the user that renewal is required.
Renew Accreditation (
EXPIRED→PENDING)Trigger: A user with an
EXPIREDstatus submits a new application for renewal.Action: The system sends the data to the provider and sets the status to
PENDING.