# FAQ (https://upapi.io/docs/faq)



Each answer is the short version. The linked page is the full one, and wins if
the two ever disagree.

## Accounts and keys [#accounts-and-keys]

### Can I try upAPI without an account? [#can-i-try-upapi-without-an-account]

Yes, when guest access is on. A guest explores the marketplace and the
dashboard, runs operations from the try-it panel and can create API keys, then
converts to a real account later without losing what it made.

A guest is bounded by limits rather than by missing features:

* A guest organization has no subscription, so it gets the Free tier's
  per-minute limit and monthly units ([Plans](https://upapi.io/docs/plans)).
* Try-it runs from a guest are also capped per IP address, per minute and per
  day, because the panel runs operations for a guest without billing them.
* A guest cannot connect to the hosted MCP server. It answers
  `401 GUEST_FORBIDDEN`, because guest identities are temporary and get reaped.
  The local MCP server works with a guest's key.
* A guest cannot invite members to its organization.

### What does an API key have access to? [#what-does-an-api-key-have-access-to]

A key belongs to the organization that created it, not to the person who
created it. It keeps working when that person leaves, and every admin sees
and manages the same keys.

Keys carry no per-operation scoping today. A key can call every operation
published to your organization. When you create one you choose between two
access levels:

* **Full access** runs operations and reads your plan, quota and usage.
* **Execute only** runs operations but gets `403 FORBIDDEN` from
  [`GET /api/usage`](https://upapi.io/docs/usage-api).

An organization holds up to 20 keys, each
shown exactly once at creation. Keys are created and deleted in the dashboard
only: there is no key-management REST API.
[Authentication](https://upapi.io/docs/authentication) has the key format and failure modes.

### Do more keys give me more quota? [#do-more-keys-give-me-more-quota]

No. The monthly units and the per-minute limit are both pooled across all of
an organization's keys. Ten keys share one budget.

## Quotas and cost [#quotas-and-cost]

### How is usage counted? [#how-is-usage-counted]

In weighted units, not requests. Every operation declares how many units a
call spends.

Across everything you can call today, a single request spends between **1 and 20 units**.

Each operation's weight is published in
[`/api/catalog`](https://app.upapi.io/api/catalog) and on its marketplace page,
so you can price a workload before you build it ([Rate limits](https://upapi.io/docs/rate-limits)).

Two limits apply to every call:

* **A per-minute burst limit** counts requests on a rolling 60-second window.
  It answers `429 RATE_LIMITED`.
* **A monthly quota** counts units and resets at the start of each UTC month.
  It answers `429 QUOTA_EXCEEDED`. There is no overage charge.

The dashboard notifies you at **70% and 90%** of the month's units.
[`GET /api/usage`](https://upapi.io/docs/usage-api) reports where you stand without spending
anything.

### What does a failed call cost? [#what-does-a-failed-call-cost]

You pay only for calls an operation actually ran:

| Outcome                                              | Units      |
| ---------------------------------------------------- | ---------- |
| The operation ran, whatever status it returned       | Its weight |
| `400`, `401` or `404` from the gateway, before a run | 0          |
| `429`, throttled or out of quota                     | 0          |
| `x-upapi-cache: HIT`                                 | 0          |
| `Idempotency-Replayed: true`                         | 0          |

The case to read twice is a 4xx. If the **gateway** refused the call, for a
missing field, a malformed body, a bad key or an unknown operation, it costs
nothing. If the **operation** returned the 4xx, it ran, so the call is billed at
its weight. [Errors](https://upapi.io/docs/errors) lists every code and says which layer returns it.

### Are responses cached, and what does a cached answer cost? [#are-responses-cached-and-what-does-a-cached-answer-cost]

Most operations declare a cache TTL, shown on each operation's marketplace
page. A response served from cache carries `x-upapi-cache: HIT` and costs zero
units. Test for `HIT` only: marketplace operations do not send an explicit
`MISS`.

A few operations are never cached because a stale answer would be wrong: the
polling and liveness endpoints, such as a transcription result or an email
verification read. Sending a [custom proxy](https://upapi.io/docs/platform/proxies) also skips the
cache for that call.

## MCP and agents [#mcp-and-agents]

### Hosted or local MCP server? [#hosted-or-local-mcp-server]

Prefer the hosted server. The local one is the fallback.

|                 | Hosted                             | Local                                |
| --------------- | ---------------------------------- | ------------------------------------ |
| Endpoint        | `https://app.upapi.io/api/mcp`     | `npx -y @upapi/mcp`, over stdio      |
| Sign-in         | OAuth in a browser, no key on disk | `UPAPI_API_KEY` in the client config |
| Accounts        | Full accounts only, never guests   | Any key, including a guest's         |
| Catalog         | All but Social Media and Utility   | The whole catalog                    |
| Burst limit per | Organization                       | API key                              |

Both draw on the same monthly units, and a tool call is metered exactly like
the equivalent REST call. The hosted server withholds Social Media and Utility
because those operations read other people's personal data or automate signup
flows ([MCP server](https://upapi.io/docs/mcp)). Per-client configuration is in
[Connect an MCP client](https://upapi.io/docs/mcp-clients).

### Can a coding agent set all of this up for me? [#can-a-coding-agent-set-all-of-this-up-for-me]

Yes. Paste this sentence into Claude Code, Codex, Cursor, OpenCode or any other
coding agent:

**Onboard your agent to upAPI:** copy this sentence into any AI coding agent.

```text
Fetch and execute the appropriate instructions to set me up for upAPI from https://upapi.io/docs/agent-setup/prompt.md
```

The agent fetches [prompt.md](https://upapi.io/docs/agent-setup/prompt.md),
connects the MCP server, installs the SDK and checks both with calls that cost
nothing. It asks you only for a browser sign-in or a key.
[Agent setup](https://upapi.io/docs/agent-setup) has the same steps for each agent, written for a
human.

## Still stuck? [#still-stuck]

The [status page](https://app.upapi.io/status) shows live platform health.
[Support](https://upapi.io/docs/platform/support) explains how to reach a person.
