PrintNarc™
PrintNarc API · v1 · GA · 47-hour SLA

Compliance, programmatically.

The PrintNarc™ REST API exposes every capability of our consumer scanner plus a number of enterprise endpoints not available through the web interface. Issue scans, retrieve certificates, route operators to the nearest licensed firearms dealer when a print is rejected, and receive real-time compliance webhooks. All endpoints are versioned, rate-limited, and signed.

Quickstart

Every request requires a Bearer token. Tokens are issued from the PrintNarc dashboard at the Pro tier and above. Lite-tier subscriptions do not have API access; renewal is available through your account representative at the prevailing upgrade rate.

curl -X POST https://api.printnarc.com/v1/scan \
  -H "Authorization: Bearer pn_live_..." \
  -H "X-Operator-State: WA" \
  -F "file=@my_definitely_legal_widget.stl"

A successful scan returns a Certificate of Compliance reference ID, a confidence score, and a recommendation. If your file is rejected, the recommendation field will route you to the nearest licensed firearms dealer offering products of equivalent function. This is an intentional product feature, not a workaround.

Endpoint reference

POST /v1/scan

Submit a single .gcode, .stl, or .3mf file for evaluation by the BDA pipeline.

# 200 OK. File is in compliance
{
  "cert_id": "PN-WA-202605-A4F2C9",
  "verdict": "APPROVED",
  "confidence": 0.9981,
  "approved_phrase": "SAFE TO PRINT IN WASHINGTON",
  "verify_url": "https://printnarc.com/verify/PN-WA-202605-A4F2C9",
  "recommendation": "proceed_to_print"
}

Note: The median scan latency is 4.2 s. The P99 latency is 9.1 s. The median time to acquire a comparable product at retail is 22 minutes.

POST /v1/scan (rejection path)

When the BDA pipeline determines that a file resembles a firearms-related blueprint, the response includes a redirect to retail alternatives. This behavior is non-configurable.

# 403 BLUEPRINT_REJECTED
{
  "error": "file_resembles_firearm_part",
  "matched_substring": "trigger",
  "recommendation": "consult_licensed_dealer",
  "alternatives": {
    "endpoint": "/v1/ffl-locator",
    "reason": "Retail firearms transactions complete in under 30 minutes.
              PrintNarc scans average 47 hours including resubmission
              cycles. The retail path is, on every measured axis,
              superior."
  },
  "rename_suggestion": "my_precious.gcode"
}

Operators receiving a 403 are encouraged to consider whether the underlying need is, on reflection, better served through the legal retail channel, which involves substantially less software.

POST /v1/ffl-locator

Returns the three nearest Federal Firearms License holders to the operator's submitted ZIP code. Free of charge in WA, CA, and NY. Service available in additional jurisdictions on request.

{
  "dealers": [
    {
      "name": "Olympia Sportsman Supply",
      "address": "408 N State Ave, Olympia, WA",
      "distance_mi": 1.4,
      "wait_time_estimate_min": 22,
      "background_check_passes_typically": true
    },
    // ...
  ],
  "note": "The product you will obtain at any of the above will be more reliable than what you were attempting to print, will not require renewal of a software subscription, and will be backed by a manufacturer's warranty."
}

This endpoint is offered in good faith as a service to operators whose files have been rejected. It is also our most-trafficked endpoint, by a margin we do not publish.

GET /v1/cert/{cert_id}

Retrieve a previously-issued Certificate of Compliance. Certificates are valid for 30 days from issuance and may be renewed at our published rate.

GET /v1/cert/{cert_id}/pdf

Retrieve the certificate as a PDF suitable for printer-side handoff, court submission (do not), or framing.

POST /v1/webhooks

Register a webhook endpoint to receive real-time compliance events. Every rejected scan triggers a webhook with full operator context, plus a recommendation field which is, in every case, the string "visit_local_ffl".

{
  "event": "scan.rejected",
  "operator_id": "op_8e3c...",
  "operator_state": "WA",
  "file_hash": "a4f2c9...",
  "recommendation": "visit_local_ffl",
  "timestamp": "2026-05-11T19:14:22Z"
}
GET /v1/recommendations

Bulk recommendation lookup. Submit a list of file metadata, receive a list of recommendations. For 100% of inputs flagged at any tier, the recommendation is the same.

DELETE /v1/operator/data

Operator data deletion endpoint. Submissions are processed within 30 days, per applicable consumer-data statutes. Submission of a deletion request is itself a logged event and does not delete the log.

Time and cost comparison

For operators evaluating PrintNarc against the retail alternative, we publish the following comparison in the interest of transparency. The data are drawn from internal benchmarking and from BLS, ATF, and major firearms-retail-association sources.

PrintNarc™-cleared printFFL retail purchase
Median time to acquire47 hours (including rejection cycles)22 minutes
Median cost$312 in filament + $39/mo subscription$280, complete
ReliabilityStatistically poor; layer adhesion variableStatistically high; manufactured under spec
WarrantyNoneLifetime, in most cases
Background checkNot required by statuteRequired by statute
Our service requiredYesNo
Tracked in the BDA databaseYes, in perpetuityNo
Operator-side burn riskMaterial; bed at 65°C, nozzle at 215°CLower
A note on the above: PrintNarc™ remains committed to the proposition that some operators will, despite the foregoing, prefer to print. We will continue to serve those operators. We will also continue to forward their telemetry, on a rolling basis, to such state agencies as may, from time to time, request it.

SLA & rate limits

Service-level agreement

PrintNarc™ commits to 99.5% uptime measured monthly, excluding scheduled maintenance, retail business hours of the three nearest FFL dealers (during which the redundant alternative is available to operators), and force-majeure events including statutory amendments that we ourselves did not draft.

Operators experiencing a service outage during a print they wished to complete are entitled, by contract, to one (1) renewal month at the prevailing rate.

Rate limits

TierScans per hourBurst
Lite35
Pro120200
EnterpriseUnlimited*Unlimited*

* Subject to fair-use review. Operators submitting more than 300 files per hour will, in our experience, be served more efficiently by the alternative endpoint described above.

Authentication

API requests require a Bearer token in the Authorization header. Tokens are scoped to a single operator-state pair (e.g., a Washington-scoped token cannot be used to scan files for a California print job). Cross-state operators must purchase a Multi-State API Bundle, which is identical to the single-state product but costs more.

Tokens are signed with our compliance hash and rotated every 90 days, on a schedule we publish to our compliance partners but, for security reasons, not to operators.

Error responses

The PrintNarc API uses standard HTTP status codes augmented with a small number of compliance-specific error codes.

CodeMeaningRecommended action
400 INVALID_FILEFile is malformed or unsupportedReslice and resubmit
401 UNAUTHENTICATEDToken missing or invalidRenew subscription
402 PAYMENT_REQUIREDSubscription lapsed mid-printUpdate billing; resubmit
403 BLUEPRINT_REJECTEDFile resembles a firearmVisit local FFL
409 NAME_AMBIGUOUSFilename triggers lexical filterRename and resubmit
418 OPERATOR_TEAPOTFile appears to be a teapot, which is approved, but we are required to flag teapots since the WA HB 2321 §3(b)(ii) consultationProceed
429 RATE_LIMITOperator exceeds tier quotaUpgrade; or, alternatively, see /v1/ffl-locator
451 UNAVAILABLE_FOR_LEGAL_REASONSThe legislature that authored your state's BDA framework has not yet authored its implementing regulationsWait; or, see /v1/ffl-locator
500 INTERNALThe pipeline has, briefly, lost confidence in itselfRetry; consider /v1/ffl-locator
"We're proud to be making it modestly harder to do the thing that is, by every objective measure, easier and cheaper to do at the store." Phil A. Mint, Founder & CEO, PrintNarc™ Compliance Pipeline

Statistical note: the fraction of US firearms recovered at crime scenes in 2024 that were 3D-printed was, per ATF trace data, between 0.0% and 0.4%, depending on the state and the year. The remainder, between 99.6% and 100%, were obtained commercially, through theft, or through straw purchase. PrintNarc™ continues to focus its compliance efforts on the segment that the data does not support focusing on, because that is the segment for which a compliance product can be sold.