fabtally-com Quote API

The Quote API from fabtally-com — 1 operation(s) for quote.

Operations 1

POST /agent/v1/quote Quote — slicer-accurate FDM 3D-printing quote (paid, $0.005 USDC on Base) #

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-quote-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-quote-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FabTally Quote 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: Quote
paths:
  /agent/v1/quote:
    post:
      operationId: quote
      summary: Quote — slicer-accurate FDM 3D-printing quote (paid, $0.005 USDC on Base)
      tags:
      - Quote
      description: Real FDM 3D-printing quote from a real slicer. Upload an STL/3MF/STEP and get print time, filament grams and a priced quote (material + machine time + setup, volume discounts). Runs a production slicing engine against calibrated machine profiles — not an estimate.
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.005000'
        protocols:
        - x402:
            scheme: exact
            network: eip155:8453
            asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
            maxAmountRequired: '5000'
            payTo: '0xccB5d25C698FdfdaA7B21d54088774cF512A90e3'
            resource: https://fabtally.com/agent/v1/quote
            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 file to quote (STL, 3MF, OBJ, STEP). Max 64 MB.
                material:
                  type: string
                  description: 'Material/profile id. One of: pla, pla-cf, petg, petg-cf, abs, abs-cf, asa, asa-cf, nylon, pc, pet, tpu. Default pla.'
                quantity:
                  type: string
                  description: Number of parts, 1-10000. Volume discounts apply. Default 1.
                material_cost_per_kg:
                  type: string
                  description: 'Bring your own pricing (optional): override material $/kg.'
                machine_rate_per_hour:
                  type: string
                  description: 'Bring your own pricing (optional): machine rate $/hour (default 2.00).'
                setup_fee:
                  type: string
                  description: 'Bring your own pricing (optional): per-job setup fee (default 1.50).'
                margin:
                  type: string
                  description: 'Bring your own pricing (optional): margin fraction on cost, 0.30=30% (default 0.30).'
                markup_percent:
                  type: string
                  description: 'Bring your own pricing (optional): extra % markup on top of margin.'
                minimum_price:
                  type: string
                  description: 'Bring your own pricing (optional): per-job price floor (default 5.00).'
                currency:
                  type: string
                  description: 'Bring your own pricing (optional): currency label echoed back (default USD).'
      responses:
        '200':
          description: Priced quote
          content:
            application/json:
              schema:
                type: object
                properties:
                  model:
                    type: string
                  material:
                    type: string
                  print_time_sec:
                    type: integer
                  print_time_human:
                    type: string
                  filament_g:
                    type: number
                  quote:
                    type: object
                    properties:
                      currency:
                        type: string
                      unit:
                        type: object
                        properties:
                          material_cost:
                            type: number
                          machine_cost:
                            type: number
                          setup_fee:
                            type: number
                          price:
                            type: number
                      quantity:
                        type: integer
                      quantity_discount:
                        type: number
                      total:
                        type: number
                  quoted_at:
                    type: string
                    format: date-time
                example:
                  model: bracket.stl
                  material: pla
                  print_time_sec: 988
                  print_time_human: 16m28s
                  filament_g: 4.16
                  quote:
                    currency: USD
                    unit:
                      material_cost: 0.1
                      machine_cost: 0.69
                      setup_fee: 1.5
                      price: 5
                    quantity: 1
                    quantity_discount: 0
                    total: 5
                  quoted_at: '2026-07-30T16:40:00Z'
        '402':
          description: Payment Required