fabtally-com DFM API
The DFM API from fabtally-com — 3 operation(s) for dfm.
The DFM API from fabtally-com — 3 operation(s) for dfm.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fabtally-com:fabtally-com-dfm-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: FabTally DFM API
version: 0.2.0
description: 'Pay-per-call utilities for AI agents: slicer-accurate FDM 3D-printing quotes and signed point-in-time URL attestations. Settlement via x402 (USDC on Base).'
x-guidance: 'Two paid endpoints, both x402 (USDC on Base). POST /agent/v1/quote takes a multipart body (file=STL/3MF/STEP, plus optional material and quantity) and returns print time, filament grams and a priced quote ($0.005). POST /agent/v1/attest takes JSON {url, check, needle?} and returns an ed25519-signed record of what the URL returned ($0.01). GET /agent/overview and GET /agent/v1/attest/schema are free discovery docs. Each paid call responds 402 with an x402 `accepts` challenge; pay and retry to receive the result. Bring your own pricing: POST /agent/v1/quote accepts optional material_cost_per_kg, machine_rate_per_hour, setup_fee, margin, markup_percent, minimum_price and currency — omit for hobbyist defaults, pass your own for business economics (config is free; call price unchanged). The quote echoes a `pricing_basis` object of default-vs-custom values.'
contact:
email: hello@fabtally.com
servers:
- url: https://fabtally.com
tags:
- name: DFM
paths:
/agent/v1/dfm-preview:
post:
operationId: dfm_preview
summary: DFM preview — geometry-only printability check, no slice (FREE)
tags:
- DFM
security: []
description: 'Free teaser. Geometry-only DFM: printable-so-far verdict, watertight/manifold, wall-thickness estimate vs nozzle, and an overhang heuristic — no slice. For the exact support-material and material-saving deltas, pay for POST /agent/v1/dfm.'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
properties:
file:
type: string
format: binary
description: 3D model (STL, 3MF, OBJ, PLY). Max 64 MB.
printer:
type: string
description: Printer id from GET /agent/overview `fleet`. Default elegoo-neptune4-max.
material:
type: string
description: pla, petg, abs, asa, tpu, pc, nylon, pet (+ -cf variants). Default pla.
quality:
type: string
description: draft (0.28mm) | standard (0.20mm) | fine (0.12mm).
layer_height:
type: string
description: Explicit layer height mm (0.04–0.6); overrides quality.
infill_percent:
type: string
description: Baseline infill density 0–100 (default 15).
responses:
'200':
description: Geometry DFM report
content:
application/json:
schema:
type: object
/agent/v1/dfm:
post:
operationId: dfm
summary: DFM report — printability verdict + exact support/material deltas (paid, $0.01…
tags:
- DFM
description: 'Structured DFM / printability report. Geometry checks (fits-on-bed, watertight, wall-thickness estimate, overhang analysis) PLUS exact support-material and infill material-saving deltas from real slices, and a definitive printable verdict (yes/with-warnings/no). Every field labelled `basis: exact | heuristic`.'
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.010000'
protocols:
- x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
maxAmountRequired: '10000'
payTo: '0xccB5d25C698FdfdaA7B21d54088774cF512A90e3'
resource: https://fabtally.com/agent/v1/dfm
facilitator: https://facilitator.payai.network
maxTimeoutSeconds: 300
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
properties:
file:
type: string
format: binary
description: 3D model (STL, 3MF, OBJ, PLY). Max 64 MB.
printer:
type: string
description: Printer id from GET /agent/overview `fleet`. Default elegoo-neptune4-max.
material:
type: string
description: pla, petg, abs, asa, tpu, pc, nylon, pet (+ -cf variants). Default pla.
quality:
type: string
description: draft (0.28mm) | standard (0.20mm) | fine (0.12mm).
layer_height:
type: string
description: Explicit layer height mm (0.04–0.6); overrides quality.
infill_percent:
type: string
description: Baseline infill density 0–100 (default 15).
responses:
'200':
description: DFM report
content:
application/json:
schema:
type: object
'402':
description: Payment Required
/agent/v1/orient:
post:
operationId: orient
summary: Orientation optimiser — least-support orientation from real slices (paid, $0.02…
tags:
- DFM
description: Really slices up to 4 candidate orientations (with automatic supports) and recommends the one using the least support material. Exact, slice-derived; the candidate set is a bounded axis-aligned sampling, not a global optimum.
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.020000'
protocols:
- x402:
scheme: exact
network: eip155:8453
asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
maxAmountRequired: '20000'
payTo: '0xccB5d25C698FdfdaA7B21d54088774cF512A90e3'
resource: https://fabtally.com/agent/v1/orient
facilitator: https://facilitator.payai.network
maxTimeoutSeconds: 300
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
properties:
file:
type: string
format: binary
description: 3D model (STL, 3MF, OBJ, PLY). Max 64 MB.
printer:
type: string
description: Printer id from GET /agent/overview `fleet`. Default elegoo-neptune4-max.
material:
type: string
description: pla, petg, abs, asa, tpu, pc, nylon, pet (+ -cf variants). Default pla.
quality:
type: string
description: draft (0.28mm) | standard (0.20mm) | fine (0.12mm).
layer_height:
type: string
description: Explicit layer height mm (0.04–0.6); overrides quality.
infill_percent:
type: string
description: Baseline infill density 0–100 (default 15).
responses:
'200':
description: Orientation ranking + recommendation
content:
application/json:
schema:
type: object
'402':
description: Payment Required