# Overview

> Manage your boards, query your library, and power an internal token-usage BI dashboard from a single versioned API namespace.

Canonical page: https://www.rundiffusion.com/docs/api/overview

---

The RunDiffusion Public API lets you drive RunDiffusion from your own code: browse
and download your generations, manage your boards, upload assets, and pull
token-usage data into whatever you already use for reporting and analysis.

## Base URL

```text
https://api2.rundiffusion.com/api/v2
```

Every path in these docs is relative to that base. All requests must use HTTPS.

## Choosing a credential

Which credential you use follows your plan: a **personal plan** uses a Personal
API Access Token you create yourself, a **team or enterprise plan** uses a
Company one that an account administrator creates for you. **OAuth** is the
alternative to either, and works for both types of accounts.

Every access token is associated with a user, so whatever it does is attributed
to that person. The two kinds differ in which account they reach, not in who they
are.

Reporting is the exception. It returns usage for a whole company, so it takes a
Company token or OAuth, on an Enterprise plan, and only while the user behind the
credential holds the **view company reports** permission. A Personal token is the
one thing it refuses.

Full detail, including where to create one, is in
[Authentication](/docs/api/authentication).

## How requests work

Every response, successful or not, follows a predictable shape. Errors always
arrive in the same envelope with a stable machine-readable `code`, so you can
branch on the code rather than parsing prose:

```json
{
  "error": {
    "code": "INVALID_CURSOR",
    "message": "Cursor is not valid base64-encoded JSON.",
    "retryable": false
  }
}
```

The `retryable` flag tells you whether trying again could plausibly succeed. See
[Errors](/docs/api/errors) for the complete list of codes.

## Next steps

Start with [Authentication](/docs/api/authentication) to get a credential, then
[Get identity](/docs/api/me) for your first query: it confirms the credential
works and tells you every account it can act on.
