---
title: ARCNM Developer Docs
description: Build manufacturing-aware applications on ARCNM. REST, MCP, webhooks — one geometry-to-price engine.
---

# ARCNM for Developers

**CAD-to-cost and feature extraction as an API.** Three layers work
together on every request:

- **Deep Feature Extraction** recognises geometry, PMI, GD&T, and
  manufacturing intent from your CAD + drawing.
- **Deep Cost Modeling** decomposes setup, cycle time, material,
  tooling, and overhead.
- **Adaptive Calibration** continuously refines both from your
  tenant's observed prices — every quote you accept teaches the model.

The result is a defensible, auditable unit price with provenance back to
the source of every coefficient.

ARCNM exposes the same engine three ways:

- **REST** — `https://api.arcnm.io/api/v1/*`
- **MCP** — `https://api.arcnm.io/mcp-server/mcp` (bearer-token, agent-ready)
- **Webhooks** — push events for wallet and account activity

Billed on success: failed runs, 4xx/5xx, and idempotent replays cost
nothing. [Read the pricing model →](./pricing.md)

---

## How ARCNM works

Every quote runs the same pipeline. Call the whole thing in one request
with `upload-and-quote`.

```
   3D (STEP/STL)   2D (PDF/DXF)         batch size n
        │              │                     │
        ▼              ▼                     │
   ┌──────────────────────────┐              │
   │   Extraction             │              │
   │   features, PMI, GD&T    │              │
   └────────────┬─────────────┘              │
                ▼                            │
   ┌──────────────────────────┐              │
   │   Discipline + Planning  │              │
   │   ops, setups, tools     │              │
   └────────────┬─────────────┘              │
                ▼                            │
   ┌──────────────────────────┐              │
   │   Physics                │              │
   │   times, feeds, wear     │              │
   └────────────┬─────────────┘              │
                ▼                            │
   ┌──────────────────────────┐              │
   │   Calibration            │◀── tenant rates, machines, observations
   └────────────┬─────────────┘              │
                ▼                            │
   ┌──────────────────────────┐              │
   │   Cost                   │◀─────────────┘
   └──────────────────────────┘
```

Read the concept guides:

- [Deep Feature Extraction](./concepts/extraction.md)
- [Deep Cost Modeling](./concepts/cost-and-lot-size.md)
- [Adaptive Calibration](./concepts/calibration-environments.md)
- [Audit, provenance, conformal intervals](./concepts/audit-provenance.md)

---

## Most-used endpoints

| Endpoint | What it does | Reference |
|---|---|---|
| `POST /api/v1/parts/calculations/upload-and-quote` | CAD → quote in one multipart call | [Calculations](./api/calculations.md) |
| `POST /api/v1/parts/calculations/quote` | Quote an existing revision (JSON) | [Calculations](./api/calculations.md) |
| `GET /api/v1/parts/calculations/{id}` | Fetch result + `analytics` blob | [Calculations](./api/calculations.md) |
| `POST /api/v1/parts` | Register a Part + initial Revision | [Parts](./api/parts.md) |

Subscribe to event notifications with [webhooks](./webhooks.md). Explore
the API interactively in the [API explorer](./api-explorer.md), or pull the
full machine-readable spec from
[`https://api.arcnm.io/api/v1/openapi-public.json`](https://api.arcnm.io/api/v1/openapi-public.json)
(OpenAPI 3.1 JSON).

---

## Built-in safety nets

- **[Idempotency](./idempotency.md)** — `Idempotency-Key` dedup with a
  24h window. Retries are safe.
- **[Errors](./errors.md)** — every response is
  `{ "error": { "code", "message", "details", "doc_url" }, "request_id" }`.
  Stable codes you can switch on.
- **[Rate limits](./rate-limits.md)** — per-key and per-caller limits;
  back off on `429`.
- **[Versioning](./versioning.md)** — `X-API-Version: 2026-04-24` stamped
  on every response.

---

## SDKs

Native SDKs are on the roadmap. Today, call the REST API directly (it's
small) or generate a client from the public OpenAPI spec — see
[SDKs](./sdks.md).

---

## Stay in touch

- **Status** — `https://status.arcnm.io`
- **Changelog** — [the developer changelog](./changelog.md)
- **Support** — `hello@arcnm.io`
- **Security** — `hello@arcnm.io`

Need a private deployment or a dedicated machine profile?
`hello@arcnm.io`.
