# Overview

> What the xPlant API is for, how it's shaped, and where to start.

Source: https://docs.xplantpro.com/docs

The xPlant API connects your lab's own systems to your [xPlant](https://www.xplantpro.com) workspace: schedulers and spreadsheets, bench stations and label scanners, sensors and gateways, and storefronts. Anything your integration can do, it does inside one workspace, with only the permissions you gave its key.

## The shape of every call

- **One host.** Everything lives under `https://app.xplantpro.com/api/v1`. (`www.xplantpro.com` is the marketing site; API calls there are refused.)
- **One header.** `Authorization: Bearer <key>`. Workspace keys start with `xpk_`; device tokens start with `xpd_`.
- **One envelope.** Success is `{ "ok": true, "data": … }`. Failure is `{ "ok": false, "data": null, "error": "…", "code": "STABLE_CODE" }`. Branch on `code`.
- **Scopes you choose.** A key can do exactly what its scopes allow, and nothing else. There is no default set.
- **Bounded by your plan and your role.** Teams and Enterprise include the whole API; Hobby and Pro Lab keys can connect devices only. A key never does more than its owner can in xPlant. See [Plans and access](https://docs.xplantpro.com/docs/authentication.md#plans-and-access).

## Start here
- [Quickstart](https://docs.xplantpro.com/docs/quickstart.md): Create a key and make your first call in five minutes.
- [Authentication and API keys](https://docs.xplantpro.com/docs/authentication.md): Keys, device tokens, and keeping them safe.
- [Scopes](https://docs.xplantpro.com/docs/scopes.md): All 34 scopes and what each one unlocks.
- [API reference](https://docs.xplantpro.com/docs/api.md): Every endpoint, generated from the OpenAPI spec.
## What you can build
- [Sync tasks](https://docs.xplantpro.com/docs/guides/sync-tasks.md): Drive the bench queue from your own scheduler, without overriding people.
- [Push demand signals](https://docs.xplantpro.com/docs/guides/demand-signals.md): Tell xPlant what's selling so the right work rises to the top.
- [Record transfers and stages](https://docs.xplantpro.com/docs/guides/transfers-and-stages.md): Log subcultures and stage changes from a script or a scanner.
- [Run an SOP from a bench station](https://docs.xplantpro.com/docs/guides/sop-runs.md): Start runs, confirm steps, and post measurements with units.
- [Label scanning](https://docs.xplantpro.com/docs/guides/label-scanning.md): Resolve a QR or barcode to its record, and log the scan.
- [Sensors and devices](https://docs.xplantpro.com/docs/guides/sensors-and-devices.md): Stream readings from a Pi or an ESP32 with a device token.
- [Equipment events](https://docs.xplantpro.com/docs/guides/equipment-events.md): Let an autoclave or a pH meter report usage and calibration.
- [Pull change history](https://docs.xplantpro.com/docs/guides/change-history.md): Mirror plant and explant edits into your own system.
## Help

Email [support@xplantpro.com](mailto:support@xplantpro.com), or see [xPlant support](https://www.xplantpro.com/en/support). For what each plan includes, see [plans and pricing](https://www.xplantpro.com/en/subscriptions). For security issues, see the repository's [security policy](https://github.com/shmaplex/xplant_os/blob/main/SECURITY.md).
