---
title: "A bar layout drawing and counts for a rectangular slab or footing, from the bar size, spacing and cover given"
method: POST
path: "/rebar-layout"
tags: ["House and canvas"]
---

# A bar layout drawing and counts for a rectangular slab or footing, from the bar size, spacing and cover given

`POST /rebar-layout`

## Request

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

A quantity layout, not a design: the engineer chooses bar size, spacing and cover. Counts by the site's Rebar Calculator's method inside the cover; weight by its Rebar Weight Calculator where it carries the size.

## 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
  - `element` 'slab' | 'footing': A slab, or a pad or strip footing, as a rectangle on plan.
  - `length` union, required: Along x, with its unit.
    - number
    - string
    - object
      - `value` number, required
      - `unit` string
  - `width` union, required: Along y, with its unit.
    - number
    - string
    - object
      - `value` number, required
      - `unit` string
  - `cover` union, required: The cover to the bars on plan, as the engineer gives it.
    - number
    - string
    - object
      - `value` number, required
      - `unit` string
  - `barSize` string, required: As the engineer gives it: #4, 15M, N12, H12, T12 or 12 mm.
  - `spacing` union: The spacing both ways, as the engineer gives it.
    - number
    - string
    - object
      - `value` number, required
      - `unit` string
  - `lengthwise` object: The bars running along the length (spaced across the width): a spacing of their own, or a count.
    - `spacing` union
      - number
      - string
      - object
        - `value` number, required
        - `unit` string
    - `count` integer: A number of bars spread evenly from cover to cover; 0 leaves this direction out.
  - `widthwise` object: The bars running along the width (spaced along the length): a spacing of their own, or a count.
    - `spacing` union
      - number
      - string
      - object
        - `value` number, required
        - `unit` string
    - `count` integer: A number of bars spread evenly from cover to cover; 0 leaves this direction out.
  - `mats` unknown
  - `lapPercent` number: The lap-splice allowance on the total; left out, the Rebar Calculator's own default.
  - `chairs` object: Count the bar supports too, from the supplier's support spacing.
    - `supportSpacing` union, required: The bar-support supplier's rated spacing.
      - number
      - string
      - object
        - `value` number, required
        - `unit` string
    - `supportEveryNth` '1' | '2' | '3'
  - `formats` string[]: The drawing's files: svg, dxf or both (the default).
  - `system` 'metric' | 'imperial': The unit system inputs left out open in, and the one the page link opens in. The answer comes in both.
  - `inputUnits` 'base': Send "base" to pass bare numbers on dimensioned inputs in base units (m, m², L, kg …), as the published test vectors are written. Without it a length, area or volume must carry its unit.

## Response `200`

The bars each way, the totals, the checks and the drawing's files.

- union
  - object
    - `engine` object, required
    - `system` 'metric' | 'imperial', required
    - `element` 'slab' | 'footing', required
    - `given` object, required
    - `clear` object, required
      - `length` object, required
        - `m` number, required
        - `ft` number, required
        - `text` string, required
      - `width` object, required
        - `m` number, required
        - `ft` number, required
        - `text` string, required
    - `bars` object, required
    - `totals` object, required
    - `calculatorCheck` object, nullable, required
    - `weight` object, nullable, required
    - `weightNote` string
    - `chairs` object, nullable, required
    - `files` object[], required
      - `level` object
      - `format` 'dxf' | 'svg' | 'ifc', required
      - `filename` string, required
      - `mediaType` string, required
      - `bytes` integer, required
      - `content` string, nullable, required: The file's text.
      - `layers` string[]
      - `note` string
    - `method` string[], required
    - `leftOut` string[], required
    - `notDesign` string, required
    - `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.
- `413`: 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)
