> For the complete documentation index, see [llms.txt](https://docs.zwapgrid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zwapgrid.com/get-started/how-the-platform-works.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
