Skip to main content

Registration analysis life cycle


Introduction

After the submit, the registration analysis no longer depends on you and starts evolving asynchronously. This page describes the steps of the flow, in which situations the registration requires your action again and how to track all of it by webhook.


The steps of the flow

The registration goes through the sequence below — always forward. Steps 3 and 4 are conditional: a registration with no pending items goes straight from the automatic analysis to approval. No step sends the analysis back to filling: when compliance needs a clarification, it opens a feedback without changing the analysis status.

#StepAnalysis statusWho acts
1Filling — registration data, address, net worth, suitability, accounts, related parties and documentscreatedpending_registry_dataYou
2Automatic analysis — risk and AML engines process the registration and produce a decision: approval, rejection, or routing to human reviewsent_to_analysisQI Tech (automatic)
3Manual analysis (conditional) — an analyst reviews the registration data. This step is skipped when the registration is approved automaticallyin_manual_analysisQI Tech (analyst)
4Compliance analysis (conditional) — AML/compliance review. Also skipped when the registration is approved automatically. This is the step in which a feedback may be opened asking for clarificationsin_compliance_analysisQI Tech (analyst) — and you, if a feedback is opened
5Documents and signature — once the analysis is approved, QI Tech generates the batch of formalization documents and the registration moves on to signatureautomatically_approved / manually_approvedpending_documentsDepends on your account's configuration
6Conclusion — the investor is able to operateanalysis_complete
Steps 3 and 4 are not mandatory

A complete registration with no risk indicators goes from sent_to_analysis straight to automatically_approved. When you see in_manual_analysis or in_compliance_analysis, it only means that registration was routed to human review — it is not an error and requires no action from you while it lasts.

Step 5 depends on your account's configuration

Generating the documents and collecting the signature vary depending on whether your integration is configured for QI Tech to take on those responsibilities, for opt-in signature, or for external generation and signature. See Fetch Document Batches for Signature and confirm with your technical contact how your account is configured.


When the registration needs your action

There are three situations, and only three, in which the ball is in your court after the submit:

SituationSignalWhat to do
Feedback openedA feedback with status: open — the analysis stays in in_compliance_analysisReply to the feedback message. Your reply closes it (closed) and compliance resumes its evaluation. There is no new submit.
Manual rejectionmanually_reprovedOpen a new registration analysis with the corrections from the opinion.
Signaturepending_documentsSubmit signed documents, or wait for the quotaholder's signature, depending on the configuration/role.

In all other statusessent_to_analysis, in_manual_analysis, in_compliance_analysis with no feedback open, automatically_approved, manually_approved — the registration is with QI Tech and there is nothing to do but wait.

Feedback: request for clarification

It happens in step 4, the compliance analysis. When the compliance analyst needs additional information or a clarification to conclude the evaluation, they open a feedback with the message describing what needs to be clarified.

The analysis does not go back. It stays in in_compliance_analysis throughout the whole feedback cycle — it does not return to pending_registry_data, does not reopen for editing and does not need a new submit. The feedback runs in parallel with the analysis: it opens as open, you reply, it becomes closed and compliance carries on from where it stopped.

  1. Receive the notice through the investor_registry.feedback_status_change webhook, with status: open
  2. Read the request with List Feedbacks, using origin_type=investor_analysis with the investor_analysis_key, and origin_type=related_party_analysis with each external_related_party_key. The text is in description and in the messages history
  3. Reply with Send Message in Feedback — your message is the reply to the request
  4. The feedback is closed (closed) and a new investor_registry.feedback_status_change is fired. Nothing else is required from you
Feedback only exists in the compliance analysis

The manual analysis step (step 3) does not open feedbacks: it ends in approval or rejection. If your integration received a feedback, it came from the compliance analysis.

Do not track feedbacks through the analysis status

Since the analysis stays in in_compliance_analysis, no status change signals an open feedback. The only notification is the investor_registry.feedback_status_change webhook. An integration that only watches the analysis status will not notice the request — and the registration will sit in compliance waiting for a reply that will never come.

The analysis remains locked for editing

Staying in in_compliance_analysis means the filling endpoints — registration data, documents, related parties, accounts — keep rejecting changes. The channel for replying to the feedback is the message. If the clarification requires changing the registration itself, compliance will reject the analysis and you will open a new one through Registration Update.

Your reply closes the feedback

Sending the message moves the feedback from open to closed — there is no need to wait for a QI Tech analyst to close it. If the reply is not sufficient, compliance opens a new feedback.

Rejection

Rejection is the most common path when a registration is not approved, and it comes in two forms:

  • automatically_reproved — a compliance rejection, applied automatically right after the submit, still in step 2. The registration does not even reach human review.
  • manually_reproved — a rejection by an analyst, in step 3 or 4, when the registration does not meet the minimum data for approval. It comes with an opinion.

In both cases the analysis is terminal: it does not go back, and none of its data can be changed any more — attempts to update related parties, accounts or documents are rejected with IVR000185.

The way forward is to open a new registration analysis for the same investor, through Registration Update, and redo the filling with the indicated corrections.

Rejection and feedback are different things

The feedback does not change the analysis status: it stays in in_compliance_analysis and the request is resolved with a message. The rejection ends the analysis and requires starting a new one. If your integration treats both cases the same, it will open unnecessary analyses — or fail to open the ones it needs.


Analysis status reference

StatusStepMeaningAction expected from you
created1Analysis just openedFill in the registration data
pending_registry_data1Awaiting data and documents for the initial submissionComplete it and send the submit
sent_to_analysis2Being processedWait
in_manual_analysis3Under review by an analyst (conditional step)Wait
in_compliance_analysis4Under compliance review (conditional step)Wait — or reply to the feedback, if one is opened
automatically_approved5Approved with no human interventionWait for the documents to be generated
manually_approved5Approved by an analystWait for the documents to be generated
pending_documents5Documents generated, awaiting signatureDepends on your account's configuration
automatically_reprovedAutomatically rejected by the compliance analysisOpen a new registration analysis
manually_reprovedRejected by an analyst, with an opinionOpen a new registration analysis with the corrections
analysis_complete6Registration complete — the investor is able to operateNone
expiredRegistration expired (2 years after conclusion)Open a new analysis for renewal
pending_registry_data is not a return status

It appears only once, during the initial filling, before the first submit. No later step sends the analysis back to this status — in particular, opening a feedback does not.


Webhooks

Tracking by webhook is the recommended way to follow the analysis — the alternative is periodically querying Query investor information, which does not scale.

Configuration

Webhooks are configured internally by QI Tech, per integration. There is no public registration endpoint. Tell your technical contact the URL that should receive the notifications and which events you want to subscribe to.

Available events

EventWhen it fires
investor_registry.investor_analysis_resultResult of the automatic analysis — leaving sent_to_analysis for automatically_approved, in_manual_analysis or automatically_reproved
investor_registry.investor_analysis_status_changeAny other change of the analysis status, including the manual decisions (manually_approved, manually_reproved) and entering pending_documents
investor_registry.feedback_status_changeOpening and closing of a feedback — see Feedback webhooks
investor_registry.document_batch_status_changeOn every status change of the document batch for signature

Event format — analysis

Analysis events carry the analysis key and the new status:

Webhook Body — analysis
{
"webhook_type": "investor_registry.investor_analysis_status_change",
"webhook_datetime": "2026-07-31T21:47:46Z",
"data": {
"investor_analysis_key": "UUID",
"status": "in_compliance_analysis"
}
}

Feedback webhooks

The investor_registry.feedback_status_change is the only notice that a feedback was opened or closed. Since the analysis stays in in_compliance_analysis throughout the whole feedback cycle, no analysis event is fired alongside it — whoever does not subscribe to this event will not learn about the request.

The same webhook_type covers both ends of the cycle, distinguished by the status field:

statusWhen it firesAction expected from you
openCompliance opened a feedback with a request for clarificationRead the request and reply with Send Message in Feedback
closedThe feedback was closed by your replyNone — it is the confirmation that the request was resolved

Feedback opening:

Webhook Body — feedback opened
{
"webhook_type": "investor_registry.feedback_status_change",
"webhook_datetime": "2026-07-31T21:47:46Z",
"data": {
"investor_analysis_key": "UUID",
"feedback_key": "UUID",
"status": "open",
"origin_type": "investor_analysis",
"origin_key": "UUID"
}
}

Feedback closing, fired right after your message:

Webhook Body — feedback closed
{
"webhook_type": "investor_registry.feedback_status_change",
"webhook_datetime": "2026-07-31T22:12:03Z",
"data": {
"investor_analysis_key": "UUID",
"feedback_key": "UUID",
"status": "closed",
"origin_type": "investor_analysis",
"origin_key": "UUID"
}
}
FieldTypeDescription
investor_analysis_keystringRegistration analysis the feedback belongs to
feedback_keystringFeedback identifier
statusstringopen or closedFeedback Status enumerator
origin_typestringOrigin Type enumerator — investor_analysis or related_party_analysis
origin_keystringKey of the origin entity: the investor_analysis_key or the external_related_party_key

The event carries only the keys and the new status — it does not bring the text of the request. On receiving an open, call List Feedbacks with the origin_type and the origin_key from the event to read the description and the messages history.

The events that require action from you

Subscribe, at a minimum, to investor_analysis_result, investor_analysis_status_change and feedback_status_change. Together they cover the three situations in the When the registration needs your action section: the automatic rejection arrives in the first; the manual rejection and the move to signature, in the second; the request for clarification, in the third — and only in the third.