Skip to content

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: NEWPENDINGAPPROVEDEXPIRED

Alternative Paths:

  • PENDINGINFO_REQUIRED / DECLINED (Rejection Loop)

  • INFO_REQUIRED / DECLINEDPENDING (Resubmission)

  • EXPIREDPENDING (Renewal)

Status Definitions

StatusDescription
NEWThe default status when accreditation has not yet been started.
PENDINGAn accreditation application has been submitted and is under review by the provider (North Capital).
INFO_REQUIREDThe provider requires additional information or documentation from the user to proceed.
DECLINEDThe provider has rejected the accreditation application. This requires user action to resolve.
APPROVEDThe provider has approved the application, and the profile is now considered accredited.
EXPIREDThe accreditation period has ended. The investor must re-verify to participate in new offerings.

Key Transitions

  • Submit Application (NEWPENDING)

    • 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 (PENDINGAPPROVED)

    • Trigger: The system receives an approved webhook from the provider.

    • Action: The status is updated to APPROVED, and the accreditation_at timestamp is set.

  • Request More Info (PENDINGINFO_REQUIRED / DECLINED)

    • Trigger: The system receives a need more info or rejected webhook from the provider.

    • Action: The status is updated accordingly, and the user is notified that action is needed.

  • Resubmit Information (INFO_REQUIRED / DECLINEDPENDING)

    • 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 (APPROVEDEXPIRED)

    • Trigger: An automated, time-based system job (e.g., 90/365 days after accreditation_at).

    • Action: The system changes the status to EXPIRED and notifies the user that renewal is required.

  • Renew Accreditation (EXPIREDPENDING)

    • Trigger: A user with an EXPIRED status submits a new application for renewal.

    • Action: The system sends the data to the provider and sets the status to PENDING.