Skip to content

Reference

Error reference

Every error the Pastepile MCP server can surface: model-visible tool errors, JSON-RPC protocol faults, and the underlying REST statuses.

1 min read · Updated

Failures surface at two layers. Tool-level failures return an isError text result the model can read and react to, so assistants recover without crashing. Protocol-level faults (malformed JSON, unknown method) use standard JSON-RPC error codes and typically indicate a client bug.

Underlying REST statuses

StatusCodeMeaning
400invalid_bodyMalformed arguments: bad expiry or visibility, missing content.
401unauthorizedScope mine with a missing, invalid, or revoked API key.
403burn_after_readBurn pastes are never served to automated clients.
403sealedTime capsule still sealed until its unlock time.
404not_foundUnknown or expired slug.
404encryptedEnd-to-end encrypted paste; unreadable by the API by design.
404password_protectedPassword-protected paste; no automated password path.
413payload_too_largePaste exceeds the size cap for your plan; see Limits.
422rejectedContent tripped the server-side abuse filter.
429rate_limitedPer-minute or daily budget exhausted; the response carries Retry-After and X-RateLimit-* headers.

Errors caught before the network

The server validates locally where it can, so obviously bad calls never spend a request:

  • Empty content on save and empty query on search are rejected immediately.
  • Invalid expiry, visibility, or scope values are rejected with the allowed values named.
  • Scope mine without a configured key returns a clear instruction to set PASTEPILE_API_KEY.

Refusals that are features

Four pastepile_get refusals exist to protect content, not to annoy you: encrypted, password_protected, burn_after_read, and sealed. Each returns a distinct, honest message so the assistant can tell the user exactly why the content is unavailable. The reasoning lives in the security model.

Related documentation