# DosePlot PK Simulate

> DosePlot PK Simulate is a paid API for AI agents from api.doseplot.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-12).

Runs a deterministic pharmacokinetic simulation for a single compound, returning a modelled serum concentration curve over a dosing window plus a 60-day washout tail.

## Facts

- Endpoint: POST https://api.doseplot.com/v1/pk/simulate?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/doseplot-pk-simulate-0aec03fe
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BH1KAr8tzN4pf2dxCXDir

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability doseplot-pk-simulate-0aec03fe -d '<json body>'
```

Example prompt: Can you simulate the serum concentration curve for testosterone cypionate at 150 mg per injection, once a week, over 16 weeks using the intramuscular route?

## When to prefer this

Choose this endpoint when you need a deterministic, mathematically-grounded serum concentration curve for a specific compound, dose, route, and schedule — particularly for injectable hormones or similar compounds with published PK models. Prefer this over generic drug databases when you need a time-resolved simulation (not just half-life lookup) and when washout modeling matters. Not appropriate for real-time therapeutic dosing decisions or as a substitute for clinical advice.

## Known failure modes

- 422 route_unsupported_for_compound — specified route is not published for the given compound
- 422 unit_unsupported_for_compound — dose_iu used but no published IU conversion exists for the compound
- 422 or 400 if compound identifier is unrecognized or ambiguous
- 400 if neither dose_mg, dose_mcg, nor dose_iu is provided
- 400 if injections_per_week or duration_weeks is outside accepted bounds
- 402 Payment Required if x402 payment is not attached or insufficient

## How this service works

Pharmacokinetic simulation for one compound: walks the published model at one dose and cadence and returns the modelled serum curve over the requested horizon plus a 60-day washout tail. Deterministic math over published reference data -- not medical advice, not a prescription, and for relay to a human decision-maker rather than autonomous administration.

## Output

Returns a time-series array of modelled serum concentration values sampled at the requested resolution (up to 24 samples/day), covering the full dosing window plus an appended 60-day washout tail. The curve is computed deterministically from published pharmacokinetic reference data for the specified compound, route, dose, and injection cadence.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "route": {
   "type": "string",
   "description": "One of the compound's published routes (see /v1/compounds/{idOrSlug}); a string this compound does not publish is 422 route_unsupported_for_compound. Omitted, the compound's primary route is used."
  },
  "dose_iu": {
   "type": "number",
   "description": "Dose per injection in the compound's activity unit. Requires a published conversion for that compound, else 422 unit_unsupported_for_compound.",
   "exclusiveMinimum": 0
  },
  "dose_mg": {
   "type": "number",
   "description": "Dose per injection, milligrams.",
   "exclusiveMinimum": 0
  },
  "compound": {
   "type": "string",
   "description": "Canon id, slug, or alias. Slug and alias matching is case-insensitive."
  },
  "dose_mcg": {
   "type": "number",
   "description": "Dose per injection, micrograms.",
   "exclusiveMinimum": 0
  },
  "duration_weeks": {
   "type": "integer",
   "maximum": 260,
   "minimum": 1,
   "description": "Length of the dosing window. The model always adds a 60-day washout tail."
  },
  "samples_per_day": {
   "type": "integer",
   "default": 24,
   "maximum": 24,
   "minimum": 1,
   "description": "Sample resolution of the returned series."
  },
  "injections_per_week": {
   "type": "number",
   "maximum": 21,
   "minimum": 0.25,
   "description": "Injections per WEEK -- not per day. The name is the contract: a per-day reading of the same number changes the accepted dose range by 7x."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/doseplot-pk-simulate-0aec03fe/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.doseplot.com](https://www.zero.xyz/host/api.doseplot.com/llms.txt)
