# DosePlot Pharmacokinetic Curve Simulator

> DosePlot Pharmacokinetic Curve Simulator 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).

Simulates serum concentration curves for a specified compound over a dosing window plus 60-day washout tail using published pharmacokinetic models

## Facts

- Endpoint: POST https://api.doseplot.com/v1/pk/curve?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-pharmacokinetic-curve-simulator-b68fa4cf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OAOD1K451lSKyFt8J5OoU

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-pharmacokinetic-curve-simulator-b68fa4cf -d '<json body>'
```

Example prompt: Can you model the serum concentration curve for testosterone enanthate at 200mg per week injected twice per week over 16 weeks, including the washout tail, sampled 24 times per day?

## When to prefer this

Use this endpoint when you need a deterministic, mathematically rigorous serum concentration time-series for a specific compound based on published PK model parameters — particularly for injectable compounds with known half-lives. Prefer this over general drug information APIs when you need a full numerical curve (not just a half-life estimate), need to model a specific dosing cadence, or need to visualize the washout tail after cessation.

## Known failure modes

- 422 route_unsupported_for_compound — the specified administration route is not published for the given compound
- 422 unit_unsupported_for_compound — dose unit (IU, mcg) lacks a published conversion for the compound
- 400 or 422 if compound ID/slug/alias is not recognized
- dose value of 0 or negative rejected (exclusiveMinimum:0)
- duration_weeks outside 1–260 range rejected
- injections_per_week outside 0.25–21 range rejected
- Payment failure if x402 USDC payment is not settled before the request

## 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 of modelled serum concentration values sampled at the requested resolution across the full dosing window plus a 60-day washout tail, based on published pharmacokinetic reference data for the specified compound.

## 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-pharmacokinetic-curve-simulator-b68fa4cf/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)
