---
title: Using the interactive API reference
description: The k12panel API ships with an interactive reference — a live, browsable page that documents every endpoint, every field, and every response, and lets you make real calls from the browser without writing any code.
---

[Skip to content](https://k12panel.com/kb/developer-api/using-the-interactive-api-reference#main-content)

![test-full-word-logo.png\]](https://k12panel.com/hs-fs/hubfs/test-full-word-logo.png?height=35&name=test-full-word-logo.png)

Open main navigation

Close main navigation

- [Go to k12panel.com](https://k12panel.com)

[Go to k12panel.com](https://k12panel.com?hsLang=en)

 Hello. How can we help you?

- There are no suggestions because the search field is empty.

1. [Online Help and Knowledge Base](https://k12panel.com/kb?hsLang=en)
2. [Developer API](https://k12panel.com/kb/developer-api?hsLang=en)

# Using the interactive API reference

## The k12panel API ships with an interactive reference — a live, browsable page that documents every endpoint, every field, and every response, and lets you make real calls from the browser without writing any code.

The K12Panel API interactive reference lives at:

**[https://my.k12panel.com/api/public/v1/docs](https://my.k12panel.com/api/public/v1/docs)**

(If your panel is on a different domain, substitute it: `https://<your-panel-domain>/api/public/v1/docs`.)

> The reference is generated directly from the running code, so it is never out of date. When an endpoint gains a field, the reference shows it the same day. This KB teaches the concepts and workflows; the reference is the authoritative field-by-field detail.

#### Reading the page

You do **not** need to sign in to read the reference — it describes what the API can do, not your data.

Endpoints are grouped by the record they act on (assets, people, sites, and so on). Click any endpoint to expand it. Each one shows:

- **Parameters** — what you can send in the URL (for example, `serial` on `GET /assets`), which are required, and what each one means.
- **Request body** — the exact JSON shape for `POST` and `PATCH` calls, with every field, its type, and whether it's optional.
- **Responses** — the shape of a successful response, plus the errors the endpoint can return (401, 403, 404, 409, 422 — see [Handling errors](https://k12panel.com/kb/developer-api/handling-k12panel-api-errors?hsLang=en)).

At the bottom of the page, the **Schemas** section lists each record type in full — this is the quickest way to see every field an asset or a person has.

#### Making a real call from the browser

The reference can act as a working API client. This is the fastest way to see an actual response before you write a line of code.

1. Click **Authorize** at the top right.
2. Paste your API key — **just the key itself**, starting with `k12_live_`. Don't type the word `Bearer`; the page adds it for you.
3. Click **Authorize**, then **Close**.
4. Open any endpoint, click **Try it out**, fill in the parameters, and click **Execute**.

You'll see the real response body, the status code, and — useful for your own code — the exact `curl` command the page built, which you can copy and paste straight into a terminal.

> **These are real calls against your live organization.** A `GET` is harmless, but a checkout, check-in, or `PATCH` executed from this page changes your data exactly as if a staff member had done it in the app. When exploring, authorize with a key that only has read permissions (see [Getting started](https://k12panel.com/kb/developer-api/getting-started-with-the-k12panel-api?hsLang=en)).

If a call returns **401**, the key is missing, wrong, revoked, or expired. If it returns **403**, the key is valid but lacks the permission that endpoint needs — the reference lists the required permission on each endpoint.

#### The raw OpenAPI schema

The same reference is available as a machine-readable **OpenAPI** document:

```
# YAML (default)curl https://my.k12panel.com/api/public/v1/schema# JSONcurl "https://my.k12panel.com/api/public/v1/schema?format=json"
```

Most API tooling understands this format directly. Two common uses:

- **Import it into Postman or Insomnia** to get a ready-made collection of every endpoint.
- **Generate a client library** for your language with a tool such as OpenAPI Generator, so you call the API through typed functions instead of building requests by hand.

Because the schema is generated from the code, regenerating your client after an upgrade picks up any new fields automatically.

#### What the reference doesn't cover

The reference documents *what each endpoint accepts and returns*. It doesn't explain the ideas behind them — read these first:

- [Key concepts](https://k12panel.com/kb/developer-api/k12panel-api-concepts?hsLang=en) — IDs, looking records up by serial or email, and how check-in/out works.
- [Common workflows](https://k12panel.com/kb/developer-api/common-k12panel-api-workflows?hsLang=en) — copy-paste examples for the usual tasks.
- [Handling errors](https://k12panel.com/kb/developer-api/handling-k12panel-api-errors?hsLang=en) — including the "more than one match" case, where the API hands you the candidates to choose from.

- [Getting started](https://k12panel.com/kb/getting-started?hsLang=en)
- [Menu Functions](https://k12panel.com/kb/menu-functions?hsLang=en)
- [Settings](https://k12panel.com/kb/settings?hsLang=en)
- [3rd Party Integrations](https://k12panel.com/kb/3rd-party-integrations?hsLang=en)
- [PC Health and SOAR](https://k12panel.com/kb/pc-health-and-soar?hsLang=en)
- [FAQ](https://k12panel.com/kb/faq?hsLang=en)
- [K12Panel Agent](https://k12panel.com/kb/k12panel-agent?hsLang=en)
- [Blueprints Catalog](https://k12panel.com/kb/blueprints-catalog?hsLang=en)
- [Writing your own Blueprint](https://k12panel.com/kb/writing-your-own-blueprint?hsLang=en)
- [MSP Tools](https://k12panel.com/kb/msp-tools?hsLang=en)
- [Developer API](https://k12panel.com/kb/developer-api?hsLang=en)

# K12Panel Inc

k12panel.com Help Center

Copyright © 2026, K12Panel Inc