> ## Documentation Index
> Fetch the complete documentation index at: https://api.amlyze.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Architecture

AMLYZE works in the background (**asynchronously**). This means that when you send data, you don't have to wait for the full analysis to finish before receiving a response.

### How Requests Work

When you send a request for evaluating a customer or an operation, the system follows these steps:

1. **Validation:** The system checks that the data format is correct.
2. **Creation:** It saves the information and triggers an internal event.
3. **Response:** It sends you a simple `REQUEST_ACCEPTED` or `REQUEST_REJECTED` message.

### Receiving Results (Webhooks)

Because the analysis happens in the background, you must provide an **endpoint (URL)** where AMLYZE can send the results.

* **Flexible Routing:** You can set up multiple endpoints.
* **Smart Filtering:** You can choose to send different types of events (like screening vs. risk scoring) to different URLs.
* **Business Unit Separation:** Each Business Unit can have its own dedicated endpoint to keep data organized.

### Integration Flow

<Frame caption="Async integration flow including manual investigation.">
  <img src="https://mintcdn.com/amlyze-10a34bd7/75-MlOvwU3oTQbsc/images/async_integration_flow.drawio.svg?fit=max&auto=format&n=75-MlOvwU3oTQbsc&q=85&s=cb29c2714aca9ec5570261e67f53ce37" alt="Async Integration Flow" width="451" height="251" data-path="images/async_integration_flow.drawio.svg" />
</Frame>

### A Note on Timing

<Warning>In some rare cases, the analysis result might reach your endpoint **before** you receive the `REQUEST_ACCEPTED` response from the initial request. Your system should be built to handle these results immediately, even if the original task hasn't "officially" finished in your logs yet.</Warning>
