Error codes

Every failure the API returns carries an SS-nnn code. The number says which part of the system refused, so a screenshot from a clinic is enough to locate the problem without asking for logs.

RangeModule
SS-0xxunclassified / catch-all
SS-1xxscan intake — upload, cleaning, alignment, measurement
SS-2xxsocket geometry — shell, trimline, adapter, analysis
SS-5xxunhandled server error
SS-6xxclinical and commercial layer — wallet, admin, cases, insoles

Within SS-6xx:

RangeArea
SS-62xboolean engine / optional dependency
SS-63xwallet: balance, charge codes
SS-65xpatients and cases
SS-66xadmin panel
SS-67xsocket finalization and export
SS-68xinsole clinical records and production

The ones worth knowing

CodeMeaningWhat to do
SS-106file not foundAlso the answer when the file exists but no record of this clinic points at it: storage is shared by content, and a file is served only through a record its reader owns.
SS-120not a client eventThe browser may file only the actions that happen in the browser (design.CLIENT_EVENTS). Everything else in the event stream is written by the server as it does the thing.
SS-121preset not foundAlso the answer for the shipped preset, which no clinic may delete, and for another clinic's.
SS-221 / SS-620manifold3d unavailableIt is a required dependency; reinstall from requirements.txt. Adapter holes and watertight repair both need it.
SS-223printable-slope fix failedThe socket is returned unchanged rather than broken. Re-generate; if it persists the trimline is likely self-intersecting.
SS-500unhandled server errorThe type and message are included. Reproducible ones belong in a suite.
SS-657the case has an order we received, and is keptAnything past draft is a commercial and manufacturing record -- a quote, a payment, a device we made -- and it outlives the design. Cancel a draft order to delete the case.
SS-630wallet below the debt floorRedeem a charge code. Approval is blocked, design and revision are not.
SS-631charge code rejectedThe detail says which: bad_charge_code, charge_code_used (409), charge_code_expired (410), charge_code_wrong_currency (409), charge_secret_not_configured (503).
SS-666charge code could not be issuedUsually charge_secret_not_configured: SOCKETSTUDIO_CHARGE_SECRET is unset, so any code minted would be one no clinic could validate.
SS-670finalize target missing or has no fileRe-generate the socket before approving it.
SS-680–SS-682insole case or design not found, or not an insoleThe design belongs to another product type.
SS-683insole failed the manufacturability gateThe engine's own check. A design that cannot be built must not reach a case file, let alone a print queue.
SS-685pair not approvedApprove before producing.
SS-687the print job could not be builtDetail carries the reason — commonly a missing print profile, or a pad promised by the parameters that could not be placed.

Warnings, which are not errors

These accompany a successful result and are recorded on the version: