---
title: "PMIC Pharma Safety and Approval Signals"
method: POST
path: "/v1/pmic-pharma-signals"
tags: ["health"]
---

# PMIC Pharma Safety and Approval Signals

`POST /v1/pmic-pharma-signals`

## Request

- Base URL: `https://agent.pocket.network`
- URL: `https://agent.pocket.network/v1/pmic-pharma-signals`
- Auth: none required

Scored drug-market and company safety briefs from openFDA, FDA, BLS and ClinicalTrials.gov: recalls, adverse events, approvals, trial pipelines, shortages, device safety, warning letters and drug prices, for the US market and for Pfizer, Lilly and J&J. Each is a 0-100 score with drivers and citations. POST /v1/brief with {vertical}. Research signal, not medical or investment advice.

## Request body

- object: The body of POST /v1/brief; company-safety and clinical-pipeline also need entity_id. The other routes take JSON bodies too: /v1/verticals takes {}; /v1/overview takes entity_id and horizon; /v1/signals takes source_id, horizon, sort, direction, min_confidence and limit; /v1/signal and /v1/explain take series_id; /v1/catalog takes entity_id and q; /v1/events takes entity_id, event_type, severity, since and limit.
  - `vertical` 'drug-market' | 'company-safety' | 'clinical-pipeline' | 'drug-shortages' | 'device-safety' | 'drug-prices' | 'fda-enforcement', required: Which brief to score.
  - `entity_id` 'pfe' | 'lly' | 'jnj': The drug maker, for the company verticals.
  - `horizon` '7d' | '30d' | '90d' | '365d': The window the trend is measured over.

## Response `200`

The upstream response, served after payment settles.

- object: The answer to POST /v1/brief. score, label and trend_basis are null on insufficient_data briefs; entity is an object on company briefs. Errors return {error: {code, message}} with HTTP 400; other routes return their own JSON objects (see the openapi spec).
  - `service` string
  - `pack_version` string
  - `vertical` string
  - `title` string
  - `question` string
  - `entity` unknown
  - `horizon` string
  - `status` 'ok' | 'insufficient_data'
  - `score` unknown
  - `label` unknown
  - `trend` string
  - `trend_basis` unknown
  - `summary` string
  - `drivers` object[]
  - `risk_flags` string[]
  - `confidence` object
    - `score` integer
    - `label` string
  - `inputs` object[]
  - `watch` object[]
  - `recent_events` object[]
  - `citations` object[]
    - `url` string
    - `label` string

## Other responses

- `400`: Malformed request.
- `402`: Payment required. The x402 v2 terms are in the PAYMENT-REQUIRED header and, identically, in this body; sign the chosen option and retry with the PAYMENT-SIGNATURE header. The receipt arrives in PAYMENT-RESPONSE.
- `503`: This service is not currently available to serve.

---

[API](https://skmtc.dev/pocket/apis/pocket-agentic-portal.md) · [All operations](https://skmtc.dev/pocket/apis/pocket-agentic-portal/llms.txt) · [OpenAPI document](https://skmtc.dev/pocket/apis/pocket-agentic-portal/revisions/96d2176db014?raw)
