fabtally-com DFM API

The DFM API from fabtally-com — 3 operation(s) for dfm.

Operations 3

POST /agent/v1/dfm-preview DFM preview — geometry-only printability check, no slice (FREE) #
POST /agent/v1/dfm DFM report — printability verdict + exact support/material deltas (paid, $0.01… #
POST /agent/v1/orient Orientation optimiser — least-support orientation from real slices (paid, $0.02… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fabtally-com:fabtally-com-dfm-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

fabtally-com-dfm-api-openapi.yml Raw ↑
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