# How the platform works

This page gives you one place to see how the Zwapgrid platform fits together: who does what, in what order, and where to find the details.

### Actors

* **You (The Client)** – You build or run the product that needs Your Customer's accounting data. You create consents, invite Your Customer to the Onboarding Flow, and call API.1 to read data.
* **Your Customer** – The end user who connects their Accounting System and grants Consent so you can access their data.
* **Zwapgrid** – The platform that provides the Consent API, Accounting API, Onboarding Flow, and Client Portal. Zwapgrid connects to Your Customer's Accounting System and normalizes data for you.

### Ordered sequence

1. **Get an API key** from the [Client Portal](https://clients.zwapgrid.com/).
2. **Create a consent** via the Consent API and get a **Consent ID**.
3. **Generate a One-Time Code (OTC)** via the Consent API.
4. **Build the onboarding URL** with the Consent ID and OTC, and send Your Customer to the Onboarding Flow.
5. **Your Customer completes the Onboarding Flow** and connects their Accounting System (or uploads files via File.1).
6. **Consent status becomes Accepted** once they have finished.
7. **You call the Accounting API** with the Consent ID and your API key to read their data (invoices, company info, and more).

### Implementation checklist

| Step | What to do                                      | Where to read more                                                                                                |
| ---- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| 1    | Get API key from Client Portal                  | [Get Started overview](/get-started/get-started.md), [API Keys](/client-portal/api-keys.md)                       |
| 2    | Create consent (Consent API) and get Consent ID | [Create Consent](/client-portal/consents/create-consent.md)                                                       |
| 3    | Generate One-Time Code (Consent API)            | [One-Time Code](/onboarding-flow/one-time-code.md)                                                                |
| 4    | Build onboarding URL with Consent ID + OTC      | [URL and parameters](/onboarding-flow/url-and-parameters.md)                                                      |
| 5    | Your Customer completes Onboarding Flow         | [Onboarding Flow](/onboarding-flow/onboarding-flow.md), [Grant Consent](/client-portal/consents/grant-consent.md) |
| 6    | Check consent status until Accepted             | [Consent Status](/client-portal/consents/consent-status.md)                                                       |
| 7    | Call Accounting API with Consent ID + API key   | [Access Your Customer Data](/get-started/access-your-customer-data.md)                                            |

For full endpoint details and URL structure, see the [API Reference](https://apidocs.zwapgrid.com/).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zwapgrid.com/get-started/how-the-platform-works.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
