> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oneshotagent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Device Adverse Events

> Count reported deaths, injuries and malfunctions for a medical device and list the most reported problems.

Counts adverse event reports to the US Food and Drug Administration about a medical device, by name, product code or maker: deaths, injuries and malfunctions reported, and the most named patient or device problems. Reports are unverified, a report does not show the device caused the event, and the source says its data must not guide medical care.

## Authentication

Requires x402 payment in the `payment-signature` header.

## Request Body

**device\_name** `string`

Device brand or generic name. 2 to 100 characters.

**product\_code** `string`

Three-letter FDA device product code.

**manufacturer** `string`

Device manufacturer name. 2 to 100 characters.

**problems** `string`

Patient health effects or device failures. One of `patient`, `device`. Defaults to `"patient"`.

**limit** `integer`

The most problems to return. From 1 to 25. Defaults to `10`.

<Snippet file="audit-context-params.mdx" />

## Response (200 OK)

Top-level envelope: `success` (boolean) and `data` (object). All fields below are nested under `data`.

**data.request\_id** `string`

Durable job ID for audit and lookup

**data.status** `string`

Job status: `completed`

**data.tool** `string`

Always `product_device_adverse_events`

**data.result** `object`

The answer, described under Result below

**data.evidence** `object`

Where the answer came from and when

**data.evidence.source** `string`

The public body the data comes from. Always `US Food and Drug Administration`.

**data.evidence.source\_kind** `string`

`public` when the data comes from a public body, `commercial` otherwise

**data.evidence.retrieved\_at** `string`

When the lookup was made, as an ISO 8601 UTC time

**data.evidence.as\_of** `string | null`

When the source says the fact was last updated, or `null` when the source gives no date

## Result

Nested under `data.result`.

**data.result.total\_reports** `number`

Sum of the report counts by event type.

**data.result.event\_types** `object`

Event types.

**data.result.event\_types.death** `number`

Death.

**data.result.event\_types.injury** `number`

Injury.

**data.result.event\_types.malfunction** `number`

Malfunction.

**data.result.event\_types.other** `number`

Other.

**data.result.event\_types.not\_stated** `number`

Not stated.

**data.result.problem\_kind** `string`

Problem kind.

**data.result.problems** `object[]`

Problems.

**data.result.problems\[].problem** `string`

Problem.

**data.result.problems\[].reports** `number`

Reports.

```bash cURL theme={null}
curl -X POST https://win.oneshotagent.com/v1/tools/lookup/product-device-adverse-events \
  -H "Content-Type: application/json" \
  -H "payment-signature: <base64 x402 payment>" \
  -d '{
    "product_code": "QFG"
  }'
```

```javascript JavaScript theme={null}
const response = await fetch("https://win.oneshotagent.com/v1/tools/lookup/product-device-adverse-events", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "payment-signature": paymentProof,
  },
  body: JSON.stringify({
    "product_code": "QFG"
  }),
});
```

```typescript SDK theme={null}
const result = await agent.tool('lookup/product-device-adverse-events', {
  product_code: 'QFG'
});
console.log(result.result);
console.log(result.evidence);
```

```json Response (200) theme={null}
{
  "success": true,
  "data": {
    "request_id": "uuid",
    "receipt_id": "rcpt_...",
    "status": "completed",
    "tool": "product_device_adverse_events",
    "result": {
      "total_reports": 1335953,
      "event_types": {
        "death": 373,
        "injury": 148951,
        "malfunction": 1186534,
        "other": 92,
        "not_stated": 3
      },
      "problem_kind": "patient",
      "problems": [
        {
          "problem": "No Clinical Signs, Symptoms or Conditions",
          "reports": 998251
        },
        {
          "problem": "Hyperglycemia",
          "reports": 254634
        },
        {
          "problem": "Hypoglycemia",
          "reports": 52338
        },
        {
          "problem": "No Consequences Or Impact To Patient",
          "reports": 24736
        },
        {
          "problem": "Elevated Ketones/ Diabetic Ketoacidosis",
          "reports": 13403
        },
        {
          "problem": "Vomiting",
          "reports": 5877
        },
        {
          "problem": "Erythema",
          "reports": 4994
        },
        {
          "problem": "Nausea",
          "reports": 4614
        },
        {
          "problem": "Pain",
          "reports": 4334
        },
        {
          "problem": "Hemorrhage/Blood Loss/Bleeding",
          "reports": 4276
        }
      ]
    },
    "evidence": {
      "source": "US Food and Drug Administration",
      "source_kind": "public",
      "retrieved_at": "2026-10-28T20:34:12.462Z",
      "calls": [
        {
          "retrieved_at": "2026-10-28T20:34:12.462Z"
        },
        {
          "retrieved_at": "2026-10-28T20:34:12.462Z"
        }
      ],
      "as_of": "2026-10-13"
    }
  }
}
```

> [!NOTE]
>
> See [Pricing](https://docs.oneshotagent.com/pricing.md) for this tool's price. A wallet (x402) call receives it in the 402 quote before anything is charged; a call paid from prepaid credits is charged when the API accepts the request and answers `200`.

## Notes

* Names match phrases; several filters must all match. Device names match brand or generic name.
* One report can name several devices and problems. A problem count is the reports naming it; terms such as No Clinical Signs, Symptoms or Conditions are the source’s own.
* For drugs use Drug Adverse Events. The source refreshes weekly.
* Results return inline. The finished job stays available at `/v1/requests/{request_id}`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.