# Industrial Coatings API
> Industrial and protective-coatings maths as an API, computed locally and deterministically — the film-build numbers a coatings inspector, painter or estimator works to, the ones simple paint estimating skips. The coverage endpoint gives theoretical and practical coverage from the coating's volume solids and the target dry film thickness: coverage = 1604 × the volume-solids fraction ÷ the DFT in mils, where 1604 is the square feet a gallon covers at one mil — so a 50 %-solids coating at 2 mils dry covers about 401 ft² per gallon, less a loss factor for overspray and surface profile. The film-thickness endpoint converts between wet and dry film thickness through the volume solids: WFT = DFT ÷ the solids fraction, because the solvent flashes off and the film shrinks, so a 50 %-solids coating laid 4 mils wet dries to 2 mils — the number you check with a wet-film comb as you spray. The transfer-efficiency endpoint gives the real material needed: theoretical gallons ÷ the transfer efficiency, since conventional spray lands only ~25 % on the part, HVLP ~65 %, electrostatic up to ~95 %. Everything is computed locally and deterministically, so it is instant and private. Ideal for coatings-estimating and inspection apps, industrial-painting and protective-coating tools, NACE/SSPC study aids, and spec calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. For simple wall-paint area estimating use a paint API.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/coating-api/..."
```

## Pricing
- **Free** (Free) — 440 calls/Mo, 2 req/s
- **Starter** ($6/Mo) — 11,800 calls/Mo, 6 req/s
- **Pro** ($18/Mo) — 76,500 calls/Mo, 15 req/s
- **Mega** ($53/Mo) — 252,000 calls/Mo, 36 req/s

## Endpoints

### Coatings

#### `GET /v1/coverage` — Coverage from solids & DFT

**Parameters:**
- `volume_solids_pct` (query, required, string) — Volume solids % Example: `50`
- `dft_mils` (query, required, string) — Dry film thickness in mils Example: `2`
- `loss_pct` (query, optional, string) — Loss factor % (overspray/waste) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/coating-api/v1/coverage?volume_solids_pct=50&dft_mils=2&loss_pct=25"
```

**Response:**
```json
{
    "data": {
        "note": "Theoretical coverage = 1604 × volume-solids fraction ÷ dry film thickness (mils), where 1604 is the ft² a gallon covers at 1 mil. Real coverage is lower — knock off a loss factor for overspray, surface profile and waste. Higher-solids coatings cover more per gallon at the same film build.",
        "inputs": {
            "dft_mils": 2,
            "loss_pct": 25,
            "volume_solids_pct": 50
        },
        "theoretical_coverage_m2_per_l": 9.842,
        "practical_coverage_ft2_per_gal": 300.8,
        "theoretical_coverage_ft2_per_gal": 401
    },
    "meta": {
        "timestamp": "2026-06-06T15:30:40.654Z",
        "request_id": "007da266-38eb-4632-a6f6-1e7c5d503f43"
    },
    "status": "ok",
    "message": "Coverage",
    "success": true
}
```

#### `GET /v1/film-thickness` — Wet/dry film thickness

**Parameters:**
- `volume_solids_pct` (query, required, string) — Volume solids % Example: `50`
- `dft_mils` (query, optional, string) — Dry film thickness in mils Example: `2`
- `wft_mils` (query, optional, string) — Wet film thickness in mils Example: `4`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/coating-api/v1/film-thickness?volume_solids_pct=50&dft_mils=2&wft_mils=4"
```

**Response:**
```json
{
    "data": {
        "note": "Wet film thickness = dry film thickness ÷ the volume-solids fraction (the solvent flashes off, so the film shrinks). Check the wet film with a comb gauge as you apply, because once it dries you can only sand and recoat. A 50 %-solids coating laid 4 mils wet dries to 2 mils.",
        "inputs": {
            "dft_mils": 2,
            "volume_solids_pct": 50
        },
        "wft_mils": 4
    },
    "meta": {
        "timestamp": "2026-06-06T15:30:40.734Z",
        "request_id": "5b96b33c-863a-49bb-beae-33e2c9c6ab15"
    },
    "status": "ok",
    "message": "Film thickness",
    "success": true
}
```

#### `GET /v1/transfer-efficiency` — Material with transfer efficiency

**Parameters:**
- `area_sqft` (query, required, string) — Area in square feet Example: `4010`
- `coverage_ft2_per_gal` (query, required, string) — Coverage in ft²/gal Example: `401`
- `transfer_efficiency_pct` (query, optional, string) — Transfer efficiency % (default 65) Example: `65`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/coating-api/v1/transfer-efficiency?area_sqft=4010&coverage_ft2_per_gal=401&transfer_efficiency_pct=65"
```

**Response:**
```json
{
    "data": {
        "note": "Actual material = theoretical (area ÷ coverage) ÷ transfer efficiency — the fraction that lands on the part. Conventional air spray is ~25 %, HVLP ~65 %, airless ~50 %, electrostatic up to ~95 %, brush/roller near 100 %. Overspray is wasted paint and money, so the gun and technique matter.",
        "inputs": {
            "area_sqft": 4010,
            "coverage_ft2_per_gal": 401,
            "transfer_efficiency_pct": 65
        },
        "actual_gallons": 15.38,
        "theoretical_gallons": 10
    },
    "meta": {
        "timestamp": "2026-06-06T15:30:40.833Z",
        "request_id": "68bfe4e3-55c8-4734-84f7-2b5a785f4268"
    },
    "status": "ok",
    "message": "Transfer efficiency",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/coating-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "notes": "Coverage = 1604 × solids-fraction ÷ DFT (mils); WFT = DFT ÷ solids-fraction; actual = theoretical ÷ transfer efficiency. Protective/industrial coatings (DFT/WFT/solids). For simple wall-paint area estimating use a paint API.",
        "service": "coating-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/coverage": "Theoretical & practical coverage from volume solids and dry film thickness.",
            "GET /v1/film-thickness": "Wet ↔ dry film thickness through the volume solids.",
            "GET /v1/transfer-efficiency": "Material needed for an area allowing for transfer efficiency."
        },
        "description": "Industrial-coatings maths: theoretical coverage from volume solids and DFT, wet/dry film-thickness, and material allowing for transfer efficiency."
    },
    "meta": {
        "timestamp": "2026-06-06T15:30:40.916Z",
        "request_id": "1bc14923-6b9b-400f-824f-c6e9bca233b3"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/coating-api
OpenAPI spec: https://www.oanor.com/api/coating-api/openapi.json
