> For the complete documentation index, see [llms.txt](https://developer.portablewallet.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.portablewallet.net/05-api-reference.md).

# API Reference

Every endpoint — all 113 operations across Crypto Readiness & Simulation, Compliance Training, Knowledge Score, and the Platform APIs — lives in the OpenAPI spec, not in hand-written pages. This is what generates the interactive reference: request builder, live auth, real response, and a **"Test it"** button on every endpoint, the same way [Convergegate's docs](https://developer.convergegate.com/v1) work.

This page walks through connecting it. Once it's connected, you won't need to come back here — the generated pages are the reference from that point on.

### Connecting the spec

1. Open a page in your GitBook Space, click into the body, and type `/`.
2. Search for **OpenAPI** and select it.
3. Click **Add specification** → **Upload a file** → select `openapi.json` (or `openapi.yaml` — same spec, either format works) from this folder. If you're hosting the spec at a public URL instead, use **Link to a URL** so it stays in sync on every redeploy.
4. Click **Insert**. GitBook reads the spec's `tags` and generates one section per product area: Testnet Environment, Simulator, Final Test, each Lab (Fundamentals, Trading, Mining, Security, DeFi, NFT, Compliance), Compliance Training, Knowledge Score, Account & Auth, Commerce & Entitlements, and Admin API.
5. Since there's only one server declared in the spec, GitBook won't show an environment dropdown — every "Test it" call goes to `https://api.education.portablewallet.net/v1`.
6. Replace the placeholder Bearer token in the "Test it" panel with a real API key to actually execute calls.

### What's still hand-written vs. what's generated

| Hand-written (this section)                                                           | Generated from the spec                      |
| ------------------------------------------------------------------------------------- | -------------------------------------------- |
| [Getting Started](/02-getting-started.md) — narrative walkthrough of the full flow    | Every endpoint's request/response schema     |
| Each product's **Overview** page — the "why" and the flow diagram                     | The interactive "Test it" panel per endpoint |
| [Webhooks](/platform/01-webhooks.md) — event payloads, not request/response endpoints | Path/query parameters, example values        |

Nothing here duplicates the generated pages on purpose — a page that just re-describes an endpoint in prose next to the real interactive version is worse than no page at all, since it reads as content with no "Test it" behind it.

### Keeping it in sync

If you regenerate the spec after adding or changing endpoints, either re-upload the file or, if linked by URL, just redeploy — GitBook re-reads it and updates every generated page automatically, without touching these narrative pages.


---

# 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 dynamically by asking a question.

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

```
GET https://developer.portablewallet.net/05-api-reference.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
