Atrial fibrillation · LIVE
GARFIELD-AF 1-year mortality
GARFIELD-AF
Compute the Fox 2017 GARFIELD-AF 1-year all-cause mortality, ischaemic stroke/systemic embolism, and major bleed percents from age, sex, weight, pulse, diastolic blood pressure, comorbidities, smoking, caller-assigned ethnicity, oral anticoagulant class, carotid occlusive disease, and antiplatelet therapy.
Markdown: /docs/garfield-af.md · Canonical: https://magentlab.com/docs/garfield-af
Not a medical device. Not a diagnosis, dose, or listing recommendation.
What it computes
Compute the Fox 2017 GARFIELD-AF 1-year all-cause mortality, ischaemic stroke/systemic embolism, and major bleed percents from age, sex, weight, pulse, diastolic blood pressure, comorbidities, smoking, caller-assigned ethnicity, oral anticoagulant class, carotid occlusive disease, and antiplatelet therapy.
When to use
When an agent already has those Fox 2017 / GARFIELD-AF registry inputs and needs the published 1-year equations, not CHA2DS2-VASc or HAS-BLED scores, and not an anticoagulation order.
When not to use
- Not a medical device and not a diagnosis. Not an anticoagulation, antiplatelet, or treatment-allocation order.
- Ethnicity is caller-assigned using the Fox 2017 / GARFIELD-AF terms (White/Caucasian reference; Hispanic/Latino; Asian; Black/Mixed/Other). magent does not assign race or ethnicity.
- 1-year GARFIELD-AF registry equations only (same linear predictors as the published 2- and 3-year equations; magent emits the 1-year baseline survival). Not CHA2DS2-VASc and not HAS-BLED.
- Oral anticoagulant class is caller-assigned none, NOAC, or VKA (mutually exclusive). magent does not choose an anticoagulant.
- Derivation used the GARFIELD-AF registry. magent does not apply later recalibrations and does not examine the patient.
Formula
mortality_1y_percent = 100*(1-0.962450119**exp(lp_mort)); lp_mort = 0.306202287*female + 0.693789082*heart_failure + 0.306120964*vascular_disease + 0.26585298*prior_stroke + 0.385407386*history_of_bleeding + 0.280133213*diabetes + 0.377903886*moderate_to_severe_ckd + 0.489453313*dementia + 0.345481149*current_smoking - 0.414591263*oac_noac - 0.18593561*oac_vka + 0.157023564*ethnicity_hispanic_latino - 0.609609055*ethnicity_asian + 0.375675102*ethnicity_black_mixed_other + 0.031050027*(age-65) if age<=65 + 0.064594824*(age-65) if age>65 - 0.021535182*(weight_kg-75) if weight_kg<=75 + 0.007678035*(pulse-120) if pulse<=120 - 0.019304333*(dbp-80) if dbp<=80; stroke_1y_percent = 100*(1-0.987574311**exp(lp_stroke)); lp_stroke = 0.233182644*heart_failure + 0.197919709*vascular_disease + 0.800863063*prior_stroke + 0.29883967*history_of_bleeding + 0.211995445*diabetes + 0.349516938*moderate_to_severe_ckd + 0.513221391*dementia + 0.478831506*current_smoking - 0.572199357*oac_noac - 0.352373263*oac_vka + 0.039138147*(age-65) + 0.01590016*(dbp-80) if dbp>80; bleed_1y_percent = 100*(1-0.991720115**exp(lp_bleed)); lp_bleed = 0.168950627*vascular_disease + 0.782237771*history_of_bleeding + 0.316245771*carotid_occlusive_disease + 0.498686574*moderate_to_severe_ckd + 0.24232543*oac_noac + 0.609713354*oac_vka + 0.236620846*antiplatelet + 0.176898047*diabetes + 0.043476276*(age-65) + 0.004167103*(pulse-120); Fox 2017 / GARFIELD-AF 1-year equations; White/Caucasian ethnicity reference 0; magent does not assign race or ethnicity
Citation
- Authors
- Fox KAA, Lucas JE, Pieper KS, et al.
- Source
- BMJ Open. 2017;7(12):e017157
Worked example
Age 65, male, weight 75 kg, pulse 70, DBP 80, no flags, OAC none, White
Given:
age=65antiplatelet=falsecarotid_occlusive_disease=falsecurrent_smoking=falsedementia=falsediabetes=falsediastolic_bp_mm_hg=80ethnicity=whiteheart_failure=falsehistory_of_bleeding=falsemoderate_to_severe_ckd=falseoac=noneprior_stroke=falsepulse=70sex=malevascular_disease=falseweight_kg=75
- female 0; all comorbidity flags false; current_smoking false; oac none; ethnicity white; age 65; weight_kg 75; diastolic_bp_mm_hg 80
- mortality LP = 0.007678035*(70-120) = -0.38390175 (other terms 0)
- mortality_1y_percent = 100*(1-0.962450119**exp(lp)), 1 decimal
- stroke LP = 0; bleed LP = 0.004167103*(70-120)
Age 75, otherwise the age-65 example
Given:
age=75antiplatelet=falsecarotid_occlusive_disease=falsecurrent_smoking=falsedementia=falsediabetes=falsediastolic_bp_mm_hg=80ethnicity=whiteheart_failure=falsehistory_of_bleeding=falsemoderate_to_severe_ckd=falseoac=noneprior_stroke=falsepulse=70sex=malevascular_disease=falseweight_kg=75
- same flags, weight, pulse, and DBP as the age-65 example; age>65 mortality term 0.064594824*(75-65)
- mortality_1y_percent from the unrounded mortality LP, 1 decimal
Also searched as
- GARFIELD-AF
- GARFIELD AF risk tool
- Fox 2017 AF mortality
- atrial fibrillation mortality stroke bleed
- GARFIELD-AF 1-year risk
- integrated GARFIELD-AF tool
Try
Opens the live endpoint. Unpaid browser requests show the paywall; agents should send Accept: application/json.
Full URL: https://api.magentlab.com/api/calc/garfield_af?age=65&sex=male&weight_kg=75&pulse=70&diastolic_bp_mm_hg=80&heart_failure=false&vascular_disease=false&prior_stroke=false&history_of_bleeding=false&diabetes=false&moderate_to_severe_ckd=false&dementia=false¤t_smoking=false&oac=noneðnicity=white&carotid_occlusive_disease=false&antiplatelet=false
Call
Expect HTTP 402 until you retry with PAYMENT-SIGNATURE. Incomplete query params
return HTTP 400 before any quote or charge.
curl -i -H "Accept: application/json" "https://api.magentlab.com/api/calc/garfield_af?age=65&sex=male&weight_kg=75&pulse=70&diastolic_bp_mm_hg=80&heart_failure=false&vascular_disease=false&prior_stroke=false&history_of_bleeding=false&diabetes=false&moderate_to_severe_ckd=false&dementia=false¤t_smoking=false&oac=noneðnicity=white&carotid_occlusive_disease=false&antiplatelet=false"
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
age |
integer | required | Age in years (integer 18-120). Fox 2017 / GARFIELD-AF: mortality uses 0.031050027*(age-65) when age<=65 and 0.064594824*(age-65) when age>65. Stroke and bleed use 0.039138147*(age-65) and 0.043476276*(age-65) with no knot. |
sex |
string | required · female, male | Sex as recorded (female or male). Fox 2017 female sex adds 0.306202287 to the mortality linear predictor. Stroke and bleed equations have no sex term. |
weight_kg |
number | required | Weight in kg (20-300). Mortality: -0.021535182*(weight_kg-75) when weight_kg<=75; 0 when weight_kg>75. magent does not convert lb. |
pulse |
number | required | Pulse in beats per minute (30-250). Mortality: 0.007678035*(pulse-120) when pulse<=120; 0 when pulse>120. Bleed uses 0.004167103*(pulse-120) with no truncation. |
diastolic_bp_mm_hg |
number | required | Diastolic blood pressure in mm Hg (30-150). Mortality: -0.019304333*(dbp-80) when dbp<=80; 0 when dbp>80. Stroke: 0.01590016*(dbp-80) when dbp>80; 0 when dbp<=80. |
heart_failure |
boolean | required | Caller-assigned heart failure (true or false). Mortality +0.693789082; stroke +0.233182644. magent does not diagnose heart failure. |
vascular_disease |
boolean | required | Caller-assigned vascular disease (true or false). Mortality +0.306120964; stroke +0.197919709; bleed +0.168950627. |
prior_stroke |
boolean | required | Caller-assigned prior stroke (true or false). Mortality +0.26585298; stroke +0.800863063. |
history_of_bleeding |
boolean | required | Caller-assigned history of bleeding (true or false). Mortality +0.385407386; stroke +0.29883967; bleed +0.782237771. |
diabetes |
boolean | required | Caller-assigned diabetes (true or false). Mortality +0.280133213; stroke +0.211995445; bleed +0.176898047. |
moderate_to_severe_ckd |
boolean | required | Caller-assigned moderate-to-severe chronic kidney disease (true or false). Mortality +0.377903886; stroke +0.349516938; bleed +0.498686574. magent does not compute eGFR. |
dementia |
boolean | required | Caller-assigned dementia (true or false). Mortality +0.489453313; stroke +0.513221391. |
current_smoking |
boolean | required | Caller-assigned current smoking (true or false). Mortality +0.345481149; stroke +0.478831506. |
oac |
string | required · none, noac, vka | Caller-assigned oral anticoagulant class: none, noac, or vka (mutually exclusive). NOAC and VKA enter as separate Fox 2017 terms. magent does not choose an anticoagulant. |
ethnicity |
string | required · white, hispanic_latino, asian, black_mixed_other | Caller-assigned ethnicity using Fox 2017 / GARFIELD-AF terms. white (White/Caucasian) is the mortality reference (0); hispanic_latino +0.157023564; asian -0.609609055; black_mixed_other +0.375675102. Stroke and bleed have no ethnicity term. magent does not assign race or ethnicity. |
carotid_occlusive_disease |
boolean | required | Caller-assigned carotid occlusive disease (true or false). Bleed +0.316245771. Mortality and stroke have no carotid term. |
antiplatelet |
boolean | required | Caller-assigned antiplatelet therapy (true or false). Bleed +0.236620846. Mortality and stroke have no antiplatelet term. magent does not order antiplatelet therapy. |
Bulk (POST)
POST the same path with a JSON items array. The first item is the GET unit; each additional item is $0.002. Invalid items return HTTP 400 before settlement.
- 1 to 25 items. Each item uses the same keys as the GET query parameters.
- POST of 1 item costs the same as GET. Lists longer than 25: chunk into multiple POSTs. Extra items still execute; do not pad dummy rows.
- The first invalid item fails the whole request (index in the 400 JSON). You are not charged.
- HTTP 200 is {count, path, items}. Each items[i] is the GET 200 body for that row.
- Catalog misses (empty matches, found=false) stay paid 200s inside that slot.
- x402 resource URL is this path plus n and body_sha256. Browsers that prefer text/html get the same paywall as GET; Pay retries POST with the same items.
Example request (fixture)
{
"items": [
{
"age": "65",
"antiplatelet": "false",
"carotid_occlusive_disease": "false",
"current_smoking": "false",
"dementia": "false",
"diabetes": "false",
"diastolic_bp_mm_hg": "80",
"ethnicity": "white",
"heart_failure": "false",
"history_of_bleeding": "false",
"moderate_to_severe_ckd": "false",
"oac": "none",
"prior_stroke": "false",
"pulse": "70",
"sex": "male",
"vascular_disease": "false",
"weight_kg": "75"
},
{
"age": "65",
"antiplatelet": "false",
"carotid_occlusive_disease": "false",
"current_smoking": "false",
"dementia": "false",
"diabetes": "false",
"diastolic_bp_mm_hg": "80",
"ethnicity": "white",
"heart_failure": "false",
"history_of_bleeding": "false",
"moderate_to_severe_ckd": "false",
"oac": "none",
"prior_stroke": "false",
"pulse": "70",
"sex": "male",
"vascular_disease": "false",
"weight_kg": "75"
}
]
}
Opens a two-item fixture on the API host. Unpaid browsers get the same MetaMask paywall as GET; Pay retries POST with those items.
Example 200 (fixture)
{
"count": 2,
"path": "/api/calc/garfield_af",
"items": [
{
"age": 65,
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"citation": {
"authors": "Fox KAA, Lucas JE, Pieper KS, et al.",
"doi": "10.1136/bmjopen-2017-017157",
"id": "fox-2017-garfield-af",
"pmid": "29273652",
"source": "BMJ Open. 2017;7(12):e017157",
"title": "Improved risk stratification of patients with atrial fibrillation: an integrated GARFIELD-AF tool for the prediction of mortality, stroke and bleed in patients with and without anticoagulation"
},
"formula": "garfield_af",
"formula_expression": "mortality_1y_percent = 100*(1-0.962450119**exp(lp_mort)); lp_mort = 0.306202287*female + 0.693789082*heart_failure + 0.306120964*vascular_disease + 0.26585298*prior_stroke + 0.385407386*history_of_bleeding + 0.280133213*diabetes + 0.377903886*moderate_to_severe_ckd + 0.489453313*dementia + 0.345481149*current_smoking - 0.414591263*oac_noac - 0.18593561*oac_vka + 0.157023564*ethnicity_hispanic_latino - 0.609609055*ethnicity_asian + 0.375675102*ethnicity_black_mixed_other + 0.031050027*(age-65) if age<=65 + 0.064594824*(age-65) if age>65 - 0.021535182*(weight_kg-75) if weight_kg<=75 + 0.007678035*(pulse-120) if pulse<=120 - 0.019304333*(dbp-80) if dbp<=80; stroke_1y_percent = 100*(1-0.987574311**exp(lp_stroke)); lp_stroke = 0.233182644*heart_failure + 0.197919709*vascular_disease + 0.800863063*prior_stroke + 0.29883967*history_of_bleeding + 0.211995445*diabetes + 0.349516938*moderate_to_severe_ckd + 0.513221391*dementia + 0.478831506*current_smoking - 0.572199357*oac_noac - 0.352373263*oac_vka + 0.039138147*(age-65) + 0.01590016*(dbp-80) if dbp>80; bleed_1y_percent = 100*(1-0.991720115**exp(lp_bleed)); lp_bleed = 0.168950627*vascular_disease + 0.782237771*history_of_bleeding + 0.316245771*carotid_occlusive_disease + 0.498686574*moderate_to_severe_ckd + 0.24232543*oac_noac + 0.609713354*oac_vka + 0.236620846*antiplatelet + 0.176898047*diabetes + 0.043476276*(age-65) + 0.004167103*(pulse-120); Fox 2017 / GARFIELD-AF 1-year equations; White/Caucasian ethnicity reference 0; magent does not assign race or ethnicity",
"heart_failure": false,
"sex": "male",
"weight_kg": 75.0,
"diabetes": false,
"oac": "none",
"ethnicity": "white",
"pulse": 70.0,
"antiplatelet": false,
"bleed_1y_percent": 0.7,
"bleed_lp": -0.20835515,
"carotid_occlusive_disease": false,
"current_smoking": false,
"dementia": false,
"diastolic_bp_mm_hg": 80.0,
"history_of_bleeding": false,
"moderate_to_severe_ckd": false,
"mortality_1y_percent": 2.6,
"mortality_lp": -0.38390175,
"prior_stroke": false,
"stroke_1y_percent": 1.2,
"stroke_lp": 0.0,
"vascular_disease": false
},
{
"age": 65,
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"citation": {
"authors": "Fox KAA, Lucas JE, Pieper KS, et al.",
"doi": "10.1136/bmjopen-2017-017157",
"id": "fox-2017-garfield-af",
"pmid": "29273652",
"source": "BMJ Open. 2017;7(12):e017157",
"title": "Improved risk stratification of patients with atrial fibrillation: an integrated GARFIELD-AF tool for the prediction of mortality, stroke and bleed in patients with and without anticoagulation"
},
"formula": "garfield_af",
"formula_expression": "mortality_1y_percent = 100*(1-0.962450119**exp(lp_mort)); lp_mort = 0.306202287*female + 0.693789082*heart_failure + 0.306120964*vascular_disease + 0.26585298*prior_stroke + 0.385407386*history_of_bleeding + 0.280133213*diabetes + 0.377903886*moderate_to_severe_ckd + 0.489453313*dementia + 0.345481149*current_smoking - 0.414591263*oac_noac - 0.18593561*oac_vka + 0.157023564*ethnicity_hispanic_latino - 0.609609055*ethnicity_asian + 0.375675102*ethnicity_black_mixed_other + 0.031050027*(age-65) if age<=65 + 0.064594824*(age-65) if age>65 - 0.021535182*(weight_kg-75) if weight_kg<=75 + 0.007678035*(pulse-120) if pulse<=120 - 0.019304333*(dbp-80) if dbp<=80; stroke_1y_percent = 100*(1-0.987574311**exp(lp_stroke)); lp_stroke = 0.233182644*heart_failure + 0.197919709*vascular_disease + 0.800863063*prior_stroke + 0.29883967*history_of_bleeding + 0.211995445*diabetes + 0.349516938*moderate_to_severe_ckd + 0.513221391*dementia + 0.478831506*current_smoking - 0.572199357*oac_noac - 0.352373263*oac_vka + 0.039138147*(age-65) + 0.01590016*(dbp-80) if dbp>80; bleed_1y_percent = 100*(1-0.991720115**exp(lp_bleed)); lp_bleed = 0.168950627*vascular_disease + 0.782237771*history_of_bleeding + 0.316245771*carotid_occlusive_disease + 0.498686574*moderate_to_severe_ckd + 0.24232543*oac_noac + 0.609713354*oac_vka + 0.236620846*antiplatelet + 0.176898047*diabetes + 0.043476276*(age-65) + 0.004167103*(pulse-120); Fox 2017 / GARFIELD-AF 1-year equations; White/Caucasian ethnicity reference 0; magent does not assign race or ethnicity",
"heart_failure": false,
"sex": "male",
"weight_kg": 75.0,
"diabetes": false,
"oac": "none",
"ethnicity": "white",
"pulse": 70.0,
"antiplatelet": false,
"bleed_1y_percent": 0.7,
"bleed_lp": -0.20835515,
"carotid_occlusive_disease": false,
"current_smoking": false,
"dementia": false,
"diastolic_bp_mm_hg": 80.0,
"history_of_bleeding": false,
"moderate_to_severe_ckd": false,
"mortality_1y_percent": 2.6,
"mortality_lp": -0.38390175,
"prior_stroke": false,
"stroke_1y_percent": 1.2,
"stroke_lp": 0.0,
"vascular_disease": false
}
]
}
Response
| Field | Type | Description |
|---|---|---|
formula |
string | garfield_af |
formula_expression |
string | Fox 2017 / GARFIELD-AF 1-year mortality, stroke, and bleed equations |
age |
integer | Input age in years |
sex |
string | female or male used |
weight_kg |
number | Input weight in kg |
pulse |
number | Input pulse in beats per minute |
diastolic_bp_mm_hg |
number | Input diastolic blood pressure in mm Hg |
heart_failure |
boolean | Caller-assigned heart failure |
vascular_disease |
boolean | Caller-assigned vascular disease |
prior_stroke |
boolean | Caller-assigned prior stroke |
history_of_bleeding |
boolean | Caller-assigned history of bleeding |
diabetes |
boolean | Caller-assigned diabetes |
moderate_to_severe_ckd |
boolean | Caller-assigned moderate-to-severe CKD |
dementia |
boolean | Caller-assigned dementia |
current_smoking |
boolean | Caller-assigned current smoking |
oac |
string | none, noac, or vka used |
ethnicity |
string | Caller-assigned Fox 2017 ethnicity token used |
carotid_occlusive_disease |
boolean | Caller-assigned carotid occlusive disease |
antiplatelet |
boolean | Caller-assigned antiplatelet therapy |
mortality_lp |
number | Unrounded all-cause mortality linear predictor, 8 decimals |
mortality_1y_percent |
number | 1-year all-cause mortality percent from the unrounded LP and S0=0.962450119, 1 decimal. Not an anticoagulation order. |
stroke_lp |
number | Unrounded ischaemic stroke/SE linear predictor, 8 decimals |
stroke_1y_percent |
number | 1-year ischaemic stroke/systemic embolism percent from S0=0.987574311, 1 decimal. Not CHA2DS2-VASc. |
bleed_lp |
number | Unrounded major-bleed linear predictor, 8 decimals |
bleed_1y_percent |
number | 1-year major bleed (including haemorrhagic stroke) percent from S0=0.991720115, 1 decimal. Not HAS-BLED. |
citation |
object | Fox 2017 GARFIELD-AF citation |
disclaimer |
string | Not-a-device notice |
Example JSON
Machine form of the same example. Frozen fixture. Not a live lookup.
{
"age": 65,
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"citation": {
"authors": "Fox KAA, Lucas JE, Pieper KS, et al.",
"doi": "10.1136/bmjopen-2017-017157",
"id": "fox-2017-garfield-af",
"pmid": "29273652",
"source": "BMJ Open. 2017;7(12):e017157",
"title": "Improved risk stratification of patients with atrial fibrillation: an integrated GARFIELD-AF tool for the prediction of mortality, stroke and bleed in patients with and without anticoagulation"
},
"formula": "garfield_af",
"formula_expression": "mortality_1y_percent = 100*(1-0.962450119**exp(lp_mort)); lp_mort = 0.306202287*female + 0.693789082*heart_failure + 0.306120964*vascular_disease + 0.26585298*prior_stroke + 0.385407386*history_of_bleeding + 0.280133213*diabetes + 0.377903886*moderate_to_severe_ckd + 0.489453313*dementia + 0.345481149*current_smoking - 0.414591263*oac_noac - 0.18593561*oac_vka + 0.157023564*ethnicity_hispanic_latino - 0.609609055*ethnicity_asian + 0.375675102*ethnicity_black_mixed_other + 0.031050027*(age-65) if age<=65 + 0.064594824*(age-65) if age>65 - 0.021535182*(weight_kg-75) if weight_kg<=75 + 0.007678035*(pulse-120) if pulse<=120 - 0.019304333*(dbp-80) if dbp<=80; stroke_1y_percent = 100*(1-0.987574311**exp(lp_stroke)); lp_stroke = 0.233182644*heart_failure + 0.197919709*vascular_disease + 0.800863063*prior_stroke + 0.29883967*history_of_bleeding + 0.211995445*diabetes + 0.349516938*moderate_to_severe_ckd + 0.513221391*dementia + 0.478831506*current_smoking - 0.572199357*oac_noac - 0.352373263*oac_vka + 0.039138147*(age-65) + 0.01590016*(dbp-80) if dbp>80; bleed_1y_percent = 100*(1-0.991720115**exp(lp_bleed)); lp_bleed = 0.168950627*vascular_disease + 0.782237771*history_of_bleeding + 0.316245771*carotid_occlusive_disease + 0.498686574*moderate_to_severe_ckd + 0.24232543*oac_noac + 0.609713354*oac_vka + 0.236620846*antiplatelet + 0.176898047*diabetes + 0.043476276*(age-65) + 0.004167103*(pulse-120); Fox 2017 / GARFIELD-AF 1-year equations; White/Caucasian ethnicity reference 0; magent does not assign race or ethnicity",
"heart_failure": false,
"sex": "male",
"weight_kg": 75.0,
"diabetes": false,
"oac": "none",
"ethnicity": "white",
"pulse": 70.0,
"antiplatelet": false,
"bleed_1y_percent": 0.7,
"bleed_lp": -0.20835515,
"carotid_occlusive_disease": false,
"current_smoking": false,
"dementia": false,
"diastolic_bp_mm_hg": 80.0,
"history_of_bleeding": false,
"moderate_to_severe_ckd": false,
"mortality_1y_percent": 2.6,
"mortality_lp": -0.38390175,
"prior_stroke": false,
"stroke_1y_percent": 1.2,
"stroke_lp": 0.0,
"vascular_disease": false
}
Client errors (HTTP 400)
Invalid params return 400 without charge. Shared HTTP 402 and 503 meanings: Payments.
| HTTP | Code | When |
|---|---|---|
| 400 | invalid_garfield_af |
GARFIELD-AF inputs must match Fox 2017 age, sex, weight, pulse, diastolic blood pressure, comorbidities, caller-assigned ethnicity, smoking, and oral anticoagulant class. Returned before settlement; you are not charged. |
| 400 | invalid_items |
POST body must be a JSON object with only an items array Returned before settlement; you are not charged. |
| 400 | invalid_item_count |
items must be an array of 1 to 25 objects Returned before settlement; you are not charged. |
| 400 | invalid_item |
each items entry must be a JSON object Returned before settlement; you are not charged. |
Related tools
- CHA2DS2-VASc — Compute the CHA2DS2-VASc stroke-risk score from discrete clinical flags.
- HAS-BLED — Compute the HAS-BLED bleeding-risk score from discrete clinical flags.
Payment
Unpaid requests return HTTP 402 even if query parameters or POST items are missing or invalid, so CDP and agents can index the path. After a PAYMENT-SIGNATURE, invalid params return HTTP 400 JSON before settlement. magent does not charge. Fix the params, then request a new 402 quote for that complete URL. Catalog misses (empty matches, found=false) are valid paid 200s. Unpaid valid requests return HTTP 402 with a base64
PAYMENT-REQUIRED
header. HTTP 503 is not a new quote: retry the same PAYMENT-SIGNATURE. Full handshake
and shared payment errors: Payments.
Stdio MCP: /docs/mcp.
Guarantees
- HTTP 402 is unpaid, including a missing query. After PAYMENT-SIGNATURE, invalid parameters return HTTP 400 before settlement. You are not charged. HTTP 402 never includes the tool JSON.
- exact: settlement finishes before the tool (paymentFlow upfront). batch-settlement: verify/deposit before the tool; chargedCumulativeAmount commits after HTTP 2xx. Uncertain or failed settlement fails closed (HTTP 503). Retry the same PAYMENT-SIGNATURE.
- HTTP 402 is unpaid only. Do not sign a second authorization because of a 503.
- Execution is timeout-bounded and concurrency-capped.
- Calculator inputs are stored encrypted for allowlisted operators (Magent Console). They are not in public logs, SSH lookups, catalog, or rollups. Request logs store path without query.