---
title: "What an amount of material covers"
method: POST
path: "/solve"
tags: ["Solve backwards"]
---

# What an amount of material covers

`POST /solve`

## Request

- Base URL: `https://api.craftquantities.com/v1`
- URL: `https://api.craftquantities.com/v1/solve`
- Auth: none declared

## Query parameters

- `detail` 'full' | 'summary': full (the default): the whole answer. summary: the result lines, the citation line and the page only — fewer tokens to read.
- `format` 'json' | 'md'

## Request body

- object
  - `page` string: A Solve Backwards page's slug, such as wall-paint, drywall-sheets, bricks, concrete-bags, ready-mix-concrete.
  - `query` string: Or what the reader has, in words ("sheets of drywall", "bags of concrete"), when the slug is not known.
  - `have` union, required: How much the reader has: a count for counted things (20, "20 sheets"); a measure with its unit for paint, concrete, soil ("24 gal", "2 m3", {"value": 90, "unit": "L"}).
    - number
    - string
    - object
      - `value` number, required
      - `unit` string, required
  - `system` 'metric' | 'imperial': The page's system; it sets the market's product (a 4 × 8 ft sheet in imperial). Left out: the unit's system, else metric.
  - `settings` object: Optional: another calculator input, with its unit (a slab's thickness "4 in", coats 3). The inputs the page grows cannot be set.

## Response `200`

The area and the size it covers, as the page works it.

- union
  - object
    - `engine` object, required
    - `page` object, required
    - `calculator` object, required
    - `otherPages` object[]
    - `system` 'metric' | 'imperial', required
    - `have` object, required
    - `status` 'reached' | 'capped' | 'too-little', required: reached: the largest size whose requirement fits; capped: more than the calculator's largest job; too-little: less than its smallest.
    - `answer` string, required: The page's own answer line.
    - `area` object, nullable, required
    - `size` object, nullable, required
      - `metres` object, required
      - `feet` object, required
    - `typical` object, required
    - `chain` string[], required
    - `forwards` object, nullable, required
    - `assumptions` object[], required
    - `settings` unknown[], required
      - unknown
    - `links` object, required
    - `note` string
    - `citation` object, required
      - `author` string, required
      - `title` string, required
      - `version` string, nullable
      - `sourcesChecked` string, nullable
      - `url` string, required
      - `accessDate` string, nullable, required
      - `formats` object, required
        - `plain` string, required
        - `apa` string, required
        - `harvard` string, required
        - `bibtex` string, required
    - `licence` object, required
      - `name` string, required
      - `url` string, required
      - `attribution` string, required
    - `notice` string, required
  - object
    - `detail` 'summary', required
    - `tool` string, required
    - `title` string, required
    - `lines` object[], required: The result lines, as the report's table gives them.
    - `notes` string[], required: What a professional must decide, when to call one, a false-friend warning, that adoption is local: kept in every summary.
    - `citation` string, required: The one citation line, built from the answer's own data.
    - `url` string, nullable, required
    - `open` string, nullable, required
    - `more` string, nullable, required

## Other responses

- `400`: The request was refused; every problem is listed.
- `404`: The request was refused; every problem is listed.

---

[API](https://skmtc.dev/craftquantities/apis/craft-quantities-engine-api.md) · [All operations](https://skmtc.dev/craftquantities/apis/craft-quantities-engine-api/llms.txt) · [OpenAPI document](https://skmtc.dev/craftquantities/apis/craft-quantities-engine-api/revisions/a69883abc23b?raw)
