# Crash Pmmp — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and browse crash reports for PocketMine-MP, view detailed information about specific crashes, and submit new crash reports to the archive. Keep your server stable by accessing a centralized database of known issues and their solutions.

**Category:** Developer Tools | **Website:** [crash.pmmp.io/](https://crash.pmmp.io/) | **Docs:** [parse.bot/marketplace/2912c700-abb9-41da-933e-1de0959e2919/crash-pmmp-io-api](https://parse.bot/marketplace/2912c700-abb9-41da-933e-1de0959e2919/crash-pmmp-io-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/crash-pmmp/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get crash report

Fetches full details for a crash report by ID. NOTE: Most reports require administrator login and will return a 401 Unauthorized error for guest access.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | The unique numeric ID of the crash report. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/crash-pmmp/get-crash-report \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"id":"<string>"}'
```

### Get home

Fetches the home page metadata of the PocketMine Crash Archive, returning the site title, description, and base URL.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/crash-pmmp/get-home \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### List crash reports

Returns a paginated list of crash reports from the PocketMine Crash Archive. Supports filtering by error message, error type, plugin name, PocketMine version, plugin involvement, and other criteria. Each page returns up to 50 reports.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `cause` | array | No | Filter by plugin involvement types. Accepted values: 'none', 'indirect', 'direct'. |
| `duplicates` | boolean | No | Whether to show duplicate crash reports. |
| `errortype` | string | No | Exception or error type partial match filter. |
| `jitonly` | boolean | No | Only show crashes related to JIT. |
| `message` | string | No | Search keyword for the error message. |
| `page` | integer | No | Page number (1-indexed). |
| `plugin` | string | No | Filter by plugin name (case-sensitive). |
| `versioninclude` | array | No | Include additional version types. Accepted values: 'forked', 'modified'. |
| `versions` | array | No | Filter by PocketMine-MP versions (e.g. ['5.43.1']). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/crash-pmmp/list-crash-reports \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"cause":"<array>","duplicates":"<boolean>","errortype":"<string>","jitonly":"<boolean>","message":"<string>","page":"<integer>","plugin":"<string>","versioninclude":"<array>","versions":"<array>"}'
```

### Submit crash report

Submits a new crash report to the archive.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `email` | string | No | Submitter email (kept secret). |
| `name` | string | No | Submitter name. |
| `report_text` | string | Yes | The full content of the crash report dump. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/crash-pmmp/submit-crash-report \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"email":"<string>","name":"<string>","report_text":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.