Willkommen zur Quote3D Dokumentation! ⏳

Kernkonzepte: Dateien, Angebote und Jobs

Diese Seite führt in die grundlegenden Ideen und Muster ein, die die Plattform antreiben. Ein Verständnis dieser Konzepte hilft Ihnen, das Beste aus der API herauszuholen und robuste Integrationen für 3D-Druck-Workflows zu erstellen.

API-Basisroute

Senden Sie Anfragen für externe API-Aufrufe direkt an https://api.quote3d.com/v2/... (zum Beispiel GET https://api.quote3d.com/v2/user).

Legen Sie in Ihrer Software https://api.quote3d.com als API-Host/Basis-URL fest und rufen Sie v2-Pfade wie /v2/user, /v2/file und /v2/quotes auf.

1. Authentifizierung & Sicherheit

Jeder Endpunkt erfordert eine Authentifizierung mit Ihrem Quote3D-API-Token, mit einer Ausnahme: der öffentlichen Upload-Route, die unter Dateiverwaltung dokumentiert ist. Verwenden Sie für externe Aufrufe die Basisroute https://api.quote3d.com/v2. Senden Sie das Token entweder als Authorization: Bearer YOUR_TOKEN oder als X-API-Token. Erstellen Sie Token in Ihrem Quote3D-Dashboard und halten Sie sie geheim.

Token können Scopes zugewiesen werden. Ein Token mit vollem Zugriff erreicht jeden Endpunkt, während ein Widget-Scoped-Token auf die Endpunkte beschränkt ist, die das eingebettete Widget benötigt. Aufrufe außerhalb des Scopes eines Tokens geben 403 zurück. Sie können den Scope eines Tokens auf der Seite „Tokens“ in Ihrem Dashboard einsehen und ändern.

Hinweis: Bewahren Sie Ihre API-Token sicher auf. Geben Sie sie niemals öffentlich preis oder committen Sie sie in die Versionskontrolle.

2. Kontoverwaltung

Verwalten Sie Ihr Konto, Uploads und Nutzungsstatistiken über dedizierte Endpunkte:

  • GET /v2/user Ruft Ihre Kontodaten, Ihren Tarif und Ihre monatlichen Kontingente ab — hier liegen quotes_used, quotes_limit, storage_used, storage_limit und reset_date
  • GET /v2/user/uploads Zeigen Sie alle in Ihr Konto hochgeladenen Dateien an. Diese werden vom neuesten zum ältesten sortiert.
  • GET /v2/quota Ruft Ihre Ratenbegrenzungen ab — das globale Limit plus eine Aufschlüsselung je Endpunkt mit verbleibenden Aufrufen und Zurücksetzungszeiten — zusammen mit Ihren Anfragezahlen für heute, diesen Monat, dieses Jahr und insgesamt
  • GET /v2/usage Erhalten Sie detaillierte Nutzungsanalysen, einschließlich Endpunktstatistiken, Materialverbrauch und zeitbasierten Trends
  • GET /v2/config Die aktivierten Technologien, Drucker, Materialien mit ihren Farben (vorrätig oder nicht) und Preisvorgaben des Kontos, also alles, was das Widget anbietet. Auch Widget-Tokens dürfen es lesen.

3. Dateiverwaltung

Laden Sie Ihre 3D-Modelldateien hoch, laden Sie sie herunter und verwalten Sie sie (STL, 3MF, OBJ, STEP-Formate):

  • GET /v2/file/upload-id — Erhalten Sie eine temporäre upload_id, um eine neue Datei über den öffentlichen Upload-Pfad hochzuladen.
  • POST /v2/file/public/{upload_id} — Dieser Pfad erfordert KEINE Authentifizierung. Verwenden Sie diesen auf Ihrer Client-Seite, um Dateien direkt in unseren Speicher hochzuladen.

    Die Verwendung des öffentlichen Upload-Pfads ermöglicht es Ihnen, das Routing großer Dateien über Ihren Backend-Server zu vermeiden. Dies verhindert die Offenlegung Ihres API-Tokens und reduziert die Serverlast.

  • POST /v2/file — Laden Sie eine Datei von Ihrer Serverseite hoch (erfordert Authentifizierung, verwenden Sie diese, wenn Sie von Ihrem Backend hochladen möchten)
  • GET /v2/file/{file_id} — Laden Sie eine Datei unter Verwendung ihrer file_id herunter
  • DELETE /v2/file/{file_id} — Löschen Sie eine Datei, die Sie nicht mehr benötigen

Der Upload wird abgelehnt, wenn die Datei kein gültiges STL-, 3MF-, OBJ- oder STEP-Modell ist oder wenn sie das Dateigrößenlimit der Plattform überschreitet (standardmäßig 50 MB). STEP-Dateien (.step/.stp) werden auf dem Server mit denselben Einstellungen wie in OrcaSlicer trianguliert (lineare Abweichung 0,003 mm, Winkelabweichung 0,5 rad); alle Körper einer Baugruppe werden zusammengeführt und Längen in Millimeter umgerechnet. Beide Upload-Routen wenden dieselben Prüfungen an.

Wie Ihre Dateien gespeichert werden

Hochgeladene Modelle werden verschlüsselt gespeichert und sind niemals öffentlich erreichbar — es gibt keinen Link, der eine gespeicherte Datei direkt bereitstellt. Das Feld file_path in den Antworten ist der authentifizierte Download-Pfad (GET /v2/file/{file_id}), kein Speicherort auf der Festplatte; behandeln Sie ihn daher als Endpunkt und nicht als eine URL, die Sie teilen können. Das Löschen einer Datei entfernt sie aus dem Speicher, nicht nur aus Ihren Einträgen.

4. Teileinformationen & Technische Analyse

Überprüfen Sie, ob Ihre Modelle druckbar sind, erhalten Sie Teilabmessungen und erweiterte technische Metriken:

  • POST /v2/printability/{file_id} Sofort-Analyse – Überprüfen Sie Maße, Volumen, Oberfläche und geometrische Integrität (offene Kanten/Non-Manifold) vor der Angebotserstellung.

Quote3D geht über einfache Maßkontrollen hinaus; es analysiert die Manifold-Integrität des Modells und bewertet das für den 3D-Druck kritische Haftungsrisiko. Diese Metriken sind sowohl in Printability- als auch in Quote-Antworten enthalten.

5. Angebotsoperationen

Erstellen Sie sofortige Angebote für Ihre 3D-Drucke und verwalten Sie den Angebotsverlauf:

  • POST /v2/file/quote/{file_id} — Starten Sie die asynchrone Angebotsberechnung für ein 3D-Modell. Es wird eine Job-ID zurückgegeben; verwenden Sie den Jobs-Endpunkt, um das vollständige Ergebnis abzurufen.
  • POST /v2/file/quote/{file_id}/async — Alternativer asynchroner Angebotsendpunkt. Gibt eine Job-ID zurück, die Sie verwenden können, um den Status zu überprüfen und das vollständige Ergebnis abzurufen.
  • GET /v2/jobs/{job_id} — Überprüfen Sie den Status eines asynchronen Angebotsauftrags. Gibt den Fortschritt in Prozent und den Abschlussstatus zurück.
  • GET /v2/quotes — Rufen Sie Ihren gesamten Angebotsverlauf mit Unterstützung für Paginierung ab.
  • GET /v2/quotes/{quote_id} — Rufen Sie detaillierte Informationen zu einem bestimmten Angebot ab.
  • DELETE /v2/quotes/{quote_id} — Entfernen Sie ein Angebot aus Ihrem Verlauf

Asynchroner Workflow: POST /v2/file/quote/{file_id} gibt zuerst eine Job-ID zurück. Verwenden Sie GET /v2/jobs/{job_id} für das kompakte, abgeschlossene Ergebnis und GET /v2/quotes/{quote_id} für die gespeicherte, detaillierte Angebots-Payload, wenn verfügbar.

Anfrageparameter für Angebote

Beim Erstellen eines Angebots können Sie eine benutzerdefinierte Konfiguration im Anfragekörper angeben. Alle Parameter, die Sie nicht angeben, werden automatisch aus Ihren Slice-Profileinstellungen im Dashboard übernommen. Dies ermöglicht es Ihnen, bestimmte Einstellungen pro Angebot zu überschreiben, während Sie die Standardeinstellungen für andere beibehalten.

Wichtig: Wenn Sie einen Parameter in Ihrer Anfrage nicht angeben, verwendet die API den Wert aus Ihrem Slice-Profil im Dashboard (Druckerprofil, Materialprofil oder globale Einstellungen). Stellen Sie sicher, dass Sie Ihre Standardprofile im Dashboard für konsistente Angebote einrichten. Sie können auch alle Ihre Parameter in einem bestimmten Druckerprofil im Dashboard konfigurieren und einfach dessen 'printer_id' in Ihrer Anfrage übergeben, um diese Einstellungen sofort anzuwenden, ohne sie einzeln übergeben zu müssen.

Konfigurationspriorität: Werte, die in der V2 API-Anfrage gesendet werden, überschreiben die Werte des ausgewählten Benutzerprofils; alle noch fehlenden Felder fallen dann auf die Benutzer-/globalen Standardprofile zurück.

Die untenstehenden Tabellen decken die Parameter ab, die am häufigsten durch Integrationen überschrieben werden. Dies ist nicht die vollständige Liste – die Angebots-Engine akzeptiert viele weitere Drucker-, Material- und Preisfelder, und jedes einzelne davon kann einmalig in Ihren Dashboard Slice-Profilen festgelegt werden, anstatt bei jeder Anfrage gesendet zu werden. Konfigurieren Sie Ihre Profile dort und senden Sie nur das, was pro Angebot variiert; die vollständige Feldliste befindet sich im OpenAPI-Schema.

Request Validation

Numerische Felder in printer_config, material_config und quote_config werden vor dem Einreihen des Auftrags auf ihre Grenzwerte geprüft. Ein Wert außerhalb seines Bereichs, eine nicht endliche Zahl (NaN, Infinity), ein falscher Typ oder eine negative Zahl dort, wo nur null und höher sinnvoll ist, wird mit HTTP 400 und einem VALIDATION_ERROR abgelehnt, der das genaue Feld benennt. Null wird weiterhin überall dort akzeptiert, wo sie sinnvoll ist – eine rollenbezogene Geschwindigkeit oder Beschleunigung von 0 bedeutet „Druckerstandard verwenden“, dieselbe Konvention, die auch OrcaSlicer verwendet.

  • Temperaturgrenzen: Die Materialtemperaturen (temperature und bed_temperature, ob in der Anfrage übermittelt oder aus dem Materialprofil gelesen) werden gegen min_hotend_temp / max_hotend_temp und min_bed_temp / max_bed_temp des Druckers geprüft. Ein Material, das mehr Hitze benötigt, als der gewählte Drucker liefern kann, wird abgelehnt statt kalkuliert. Nur FDM – Harz- und Pulvertechnologien haben weder Düse noch beheiztes Bett. Lassen Sie die Druckergrenzen leer, um die Prüfung zu überspringen.
  • Aktivierte Technologien: Wenn Sie die Technologien in Ihren globalen Einstellungen eingeschränkt haben, wird eine Angebotsanfrage für eine deaktivierte Technologie abgelehnt. Lassen Sie die Einstellung leer, um alle Technologien zu akzeptieren.
  • Materialpreisfelder: price_per_gram ist der Wert, den die Engine berechnet. Beim Speichern eines Materialprofils wird price_per_kg automatisch daraus neu berechnet (und price_per_gram wird aus price_per_kg abgeleitet, wenn nur der Kilogrammpreis angegeben wird), sodass die beiden nie voneinander abweichen können.

Stammparameter

ParameterTypBeschreibung
technologystringOptional. Produktionstechnologie: 'FDM', 'SLA', 'SLS', 'SLM' oder 'MJF' ('RESIN' wird als Alias für 'SLA' akzeptiert, 'DMLS' und 'LPBF' für 'SLM'). Bestimmt, welche technologiespezifischen Parameter angewendet werden und wie Teile für die Serienproduktion verpackt werden. Wenn dieser Wert weggelassen wird, wird die Technologie des ausgewählten Druckers verwendet, mit einem Fallback auf 'FDM'.
printer_idstringOptional. ID eines bestimmten Druckers, der anstelle des Standarddruckers verwendet werden soll.
quantitynumberOptional. Die Gesamtanzahl der zu produzierenden Kopien (Standard: 1).

Logik für Menge und Batch-Produktion

Unser System verwendet einen fortschrittlichen Packalgorithmus basierend auf der angegebenen 'quantity':

  • FDM-Technologie: Teile werden nebeneinander auf der Bauplatte (X- und Y-Achse) platziert, soweit der Platz es zulässt.
  • SLA-Technologie: Teile werden nebeneinander im Harzbehälter (X- und Y-Achse) positioniert.
  • SLS-Technologie: Teile können in allen Achsen (X, Y und Z) gestapelt werden, um die Kapazität des Pulverbettes voll auszunutzen.

Dank dieser optimierten Packung, können mehrere Teile in einen einzigen Batch passen, werden fixe Gemeinkosten wie Vorheizen, Abkühlen und Schichtwechsel nur pro benötigtem Batch angewendet. Dies gewährleistet eine hochrealistische und kosteneffiziente Preisgestaltung für Großbestellungen.

printer_config

Druckerkonfigurationsparameter. Alle Felder sind optional und verwenden Ihre Standardwerte aus dem Druckerprofil, falls nicht angegeben.

ParameterTypBeschreibung
nozzle_diameternumberFDM nozzle diameter (mm). Drives extrusion width, so it changes both print time and material use.
support_materialbooleanEnable support generation. When omitted, the profile value is used.
bed_size_xnumberBuild volume X dimension (mm)
bed_size_ynumberBuild volume Y dimension (mm)
bed_size_znumberBuild volume Z dimension (mm)
print_speednumberDefault print speed (mm/s)
max_print_speednumberMaximum print speed (mm/s)
travel_speednumberTravel speed (mm/s)
first_layer_speednumberFirst layer speed (mm/s)
layer_heightnumberLayer height (mm)
min_layer_heightnumberMinimum layer height (mm)
max_layer_heightnumberMaximum layer height (mm)
perimetersnumberNumber of perimeters/walls
top_solid_layersnumberTop solid layers count
bottom_solid_layersnumberBottom solid layers count
min_wall_countnumberMinimum wall count
max_wall_countnumberMaximum wall count
fill_densitynumberInfill density (0-100%)
infill_patternstringInfill-Muster. Standard: rectilinear. Basis (rectilinear, alignedrectilinear, zigzag, crosszag, lockedzag, line, grid), Dreieck (triangles, trihexagon), Kubisch (cubic, adaptivecubic, supportcubic), Waben (honeycomb, honeycomb3d, lateralhoneycomb), Fortgeschritten (gyroid), Speziell (monotonic, monotonicline), Raumfüllend (hilbertcurve, archimedeanchords, octagramspiral). hilbertcurve, archimedeanchords und octagramspiral werden akzeptiert, haben aber keinen eigenen Generator – sie werden als rectilinear behandelt. Die Werte werden unabhängig von Groß-/Kleinschreibung und Trennzeichen verglichen, sodass sowohl tri-hexagon als auch Zig Zag funktionieren; die OrcaSlicer-Schreibweise 3dhoneycomb wird ebenfalls akzeptiert. lightning, quartercubic, laterallattice, crosshatch, concentric, tpmsd und tpmsfk werden nicht unterstützt und geben einen Fehler 400 zurück.
support_overhang_anglenumberSupport overhang angle (degrees)
support_densitynumberSupport density (0-100%)
brim_enabledbooleanEnable brim generation for FDM quotes
brim_widthnumberBrim width in millimeters when brim is enabled
acceleration_printnumberPrint acceleration (mm/s²)
acceleration_travelnumberTravel acceleration (mm/s²)
acceleration_retractionnumberRetraction acceleration (mm/s²)
acceleration_outer_wallnumberOuter wall acceleration (mm/s²). 0 uses acceleration_print.
acceleration_inner_wallnumberInner wall acceleration (mm/s²). 0 uses acceleration_print.
acceleration_sparse_infillnumberSparse infill acceleration (mm/s²). 0 uses acceleration_print.
acceleration_solid_infillnumberSolid infill acceleration (mm/s²). 0 uses acceleration_print.
acceleration_top_surfacenumberTop surface acceleration (mm/s²). 0 uses acceleration_print.
acceleration_bridgenumberBridge acceleration (mm/s²). 0 uses acceleration_print.
acceleration_first_layernumberFirst layer acceleration (mm/s²). 0 uses acceleration_print.
retraction_minimum_travelnumberTravel moves shorter than this do not retract (mm). Reference default 1.
z_hop_mmnumberNozzle lift before a travel move (mm). 0 disables it. Reference default 0.4.
bed_exclude_xnumberUnusable bed edge margin on X (mm), removed from the packing area.
bed_exclude_ynumberUnusable bed edge margin on Y (mm), removed from the packing area.
jerk_printnumberPrint jerk (mm/s)
jerk_travelnumberTravel jerk (mm/s)
jerk_retractionnumberRetraction jerk (mm/s)
min_hotend_tempnumberMinimum hotend temperature (°C)
max_hotend_tempnumberMaximum hotend temperature (°C)
min_bed_tempnumberMinimum bed temperature (°C)
max_bed_tempnumberMaximum bed temperature (°C)
hourly_costnumberMachine hourly cost
SLA-SPEZIFISCH
sla_exposure_timenumberSLA: Belichtungszeit pro Schicht (Sekunden)
sla_bottom_exposure_timenumberSLA: Basis-Belichtungszeit (Sekunden)
sla_bottom_layer_countnumberSLA: Anzahl der Bodenschichten
sla_lift_distancenumberSLA: Hubdistanz (mm)
sla_lift_speednumberSLA: Hubgeschwindigkeit (mm/min)
sla_retract_speednumberSLA: Rückzugsgeschwindigkeit (mm/min)
sla_cleaning_costnumberSLA: Feste Reinigungskosten pro Druck (IPA, Verbrauchsmaterialien)
sla_pad_enabledbooleanSLA: Modell auf einem Pad/Raft drucken. Standardmäßig deaktiviert; Pad-Harz wird als Stützmaterial gezählt.
sla_pad_wall_thicknessnumberSLA: Pad-Wandstärke in mm. Alias: sla_pad_height.
sla_pad_wall_heightnumberSLA: Pad-Wandhöhe in mm (erhöhter Rand um die Pad-Vertiefung).
sla_pad_wall_slopenumberSLA: Pad-Wandneigung in Grad (45-90). Das Pad verjüngt sich in diesem Winkel nach unten.
sla_pad_brim_sizenumberSLA: Pad-Brim-Größe in mm. Alias: sla_pad_expansion.
sla_pad_max_merge_distancenumberSLA: Stützfüße, die näher beieinander liegen als dieser Wert, werden zu einer Pad-Insel zusammengefasst (mm).
sla_support_head_front_diameternumberSLA: Vorderer Durchmesser (Spitze) des Supportkopfs in mm.
sla_support_head_penetrationnumberSLA: Wie tief der Supportkopf in die Modelloberfläche einsinkt (mm).
sla_support_head_widthnumberSLA: Länge des Supportkopf-Stabs in mm.
sla_support_pillar_diameternumberSLA: Durchmesser des Supportpfeilers in mm. Macht den Großteil des Support-Harzvolumens aus.
sla_support_base_diameternumberSLA: Durchmesser der Basis (Fuß) des Supportpfeilers in mm.
sla_support_base_heightnumberSLA: Höhe der Basis (Fuß) des Supportpfeilers in mm.
sla_support_object_elevationnumberSLA: Objekthöhe über der Bauplatte in mm. Addiert auch gedruckte Schichten, was die Druckzeit beeinflusst. Wird nur angewendet, wenn Supports generiert werden.
sla_support_critical_anglenumberSLA: Brückensteigung in Grad, die beim Routing der Supports verwendet wird. Nicht dasselbe wie support_overhang_angle.
sla_support_max_pillar_link_distancenumberSLA: Pfeiler, die weiter als dieser Wert auseinanderliegen, werden nicht miteinander vernetzt (mm).
sla_support_max_bridge_lengthnumberSLA: Längste seitliche Brücke, die ein Support-Kopf zur Erreichung der Platte zurücklegen darf (mm).
sla_support_max_bridges_on_pillarnumberSLA: Anzahl der Brücken, die ein einzelner Pfeiler zulässt.
sla_support_points_densitynumberSLA: Supportpunkt-Dichte in Prozent, 100 = normal. Nicht derselbe Wert wie support_density, was der FDM-Support-Infill-Prozentsatz ist.
sla_elephant_foot_compensationnumberSLA: Wie weit die ersten Schichten nach innen versetzt werden, um die Verbreiterung an der Basis auszugleichen. Referenzwert 0,2 bei jedem enthaltenen SLA-Drucker. 0 deaktiviert die Funktion.
sla_elephant_foot_min_widthnumberSLA: Konturen, die schmaler als dieser Wert sind, bleiben unverändert, damit feine Details nicht entfernt werden. Referenzwert 0,2.
sla_faded_layersnumberSLA: Über wie viele Schichten die Kompensation auf Null ausläuft. Dies ist NICHT die Anzahl der Bodenschichten; das Referenz-MSLA-Profil verwendet 8.
SLS-spezifisch
sls_laser_speednumberSLS: Lasergeschwindigkeit (mm/s)
sls_hatch_spacingnumberSLS: Schraffurabstand (mm)
mjf_layer_timenumberMJF: Sekunden pro Schicht. Die von HP veröffentlichte Aufbaurate ist exakt Bettfläche x Schichtdicke / Schichtzeit, diese eine Zahl bestimmt also die gesamte Bauzeit; die XY-Geometrie geht nie ein. Das Datenblatt der 4200 nennt 7,55 s bei 0,08 mm Schicht.
mjf_layer_thicknessnumberMJF: Schichtdicke (mm). HP liefert die 4200/5200-Serie mit 0,08 mm aus.
mjf_preheat_timeintegerMJF: Vorheizzeit vor dem Baustart (Minuten). Wird von allen Bauteilen im Baujob geteilt und anteilig berechnet.
mjf_cooling_timeintegerMJF: Abkühlzeit nach dem Baujob (Minuten). Der Pulverkuchen muss vor dem Auspacken abkühlen; wird von allen Bauteilen geteilt und anteilig berechnet.
mjf_powernumberMJF: durchschnittliche Leistungsaufnahme der Maschine (W), für die Energiekostenposition.
mjf_bb_multipliernumberMJF: Multiplikator auf den Anteil am Bauraum (Kuchen), der einem Bauteil berechnet wird. 0 = das Bauteil wird für das von ihm verdrängte Pulver im Kuchen nicht belastet.
mjf_part_spacingnumberMJF: Mindestabstand zwischen Bauteilen im Pulverkuchen (mm). Bestimmt, wie viele Bauteile in einen Baujob passen, und damit den Anteil je Bauteil an Vorheizen, Abkühlen und Pulver.
slm_laser_speednumberSLM: Laser-Scangeschwindigkeit (mm/s). Die Aufbaurate-Identität des Herstellers lautet Schichtdicke x Scangeschwindigkeit x Schraffurabstand x Laseranzahl; diese vier Felder bestimmen die Scanzeit gemeinsam.
slm_hatch_spacingnumberSLM: Abstand zwischen benachbarten Scanlinien (mm).
slm_layer_thicknessnumberSLM: Schichtdicke (mm). Metallpulverbett-Maschinen arbeiten typischerweise mit 0,02-0,06 mm.
slm_laser_countintegerSLM: Anzahl der Laser. Ein Teiler für den gesamten Scanterm, genau wie in der Aufbaurate-Formel des Herstellers. Der Pulverauftrag wird dadurch NICHT verkürzt.
slm_contour_countintegerSLM: Anzahl der Kontur-Durchgänge (Rand) um jede Schichtkontur. 0 = kein Konturdurchgang.
slm_contour_speednumberSLM: Geschwindigkeit des Konturdurchgangs (mm/s); üblicherweise langsamer als die Schraffurgeschwindigkeit.
slm_jump_speednumberSLM: Geschwindigkeit der Laser-Neupositionierung (Sprung) zwischen Scanvektoren (mm/s).
slm_recoat_timenumberSLM: Sekunden, die der Recoater pro Schicht benötigt. Die Aufbaurate des Herstellers SCHLIESST den Pulverauftrag AUS; anders als bei SLS lässt sich dieser Wert deshalb nicht aus einer veröffentlichten Aufbaurate ableiten - messen Sie ihn an der Maschine.
slm_preheat_timeintegerSLM: Vorheizzeit der Baukammer und Spülzeit mit Inertgas (Minuten), geteilt von allen Bauteilen auf der Platte.
slm_cooldown_timeintegerSLM: Abkühlzeit nach dem Baujob (Minuten), geteilt von allen Bauteilen auf der Platte.
slm_powernumberSLM: durchschnittliche Leistungsaufnahme der Maschine (W), für die Energiekostenposition.
slm_part_spacingnumberSLM: Mindestabstand zwischen Bauteilen auf der Bauplatte (mm). SLM-Bauteile lassen sich nicht in Z stapeln - jedes Bauteil ist mit der Platte verschweißt -, deshalb bestimmt dieser Wert direkt das Nesting auf der Platte und die Bauteilanzahl pro Baujob.
slm_build_plate_costnumberSLM: Kosten der Bauplatte je Baujob, aufgeteilt auf die Bauteile dieses Jobs. 0 = wird nicht berechnet.
slm_plate_removal_costnumberSLM: Kosten für das Trennen der Bauteile von der Platte (Drahterodieren oder Bandsäge) je Baujob, aufgeteilt auf die Bauteile dieses Jobs. 0 = wird nicht berechnet.
slm_stress_relief_costnumberSLM: Kosten des Spannungsarmglüh-Zyklus je Baujob, aufgeteilt auf die Bauteile dieses Jobs. 0 = wird nicht berechnet.
slm_inert_gas_flownumberSLM: Argon- oder Stickstoffverbrauch (Liter pro Minute) während des Baujobs. 0 = wird nicht berechnet.
slm_inert_gas_cost_per_liternumberSLM: Preis eines Liters Inertgas in der Angebotswährung. 0 = wird nicht berechnet.
slm_support_removal_cost_per_cm3numberSLM: Kosten für das manuelle Entfernen von Stützen je cm3 Stützvolumen. Metallstützen sind last- und wärmetragend und werden abgetrennt, nicht abgezogen. 0 = wird nicht berechnet.
sls_layer_thicknessnumberSLS: Schichthöhe (mm)
sls_layer_recoat_timenumberSLS: Beschichtungszeit pro Schicht (Sekunden)
sls_preheat_timenumberSLS: Vorheizzeit (min)
sls_cooling_timenumberSLS: Abkühlzeit (min)
sla_light_off_delaynumberSLA: Light-off delay for each layer (seconds).
sla_transition_layer_countnumberSLA: Number of transition layers.
sla_drain_holesarraySLA: Drainage holes configuration to prevent suction cups.
sls_bb_multipliernumberSLS: Maschinenplatz-Aufschlag pro Gramm-Äquivalent des Bauplatzes, den ein Bauteil einnimmt. Der Platz entspricht dem minimalen Volumenwürfel des Bauteils plus seinem Anteil an den Pulverabständen und unbrauchbaren Kammerrändern, sodass er sich nicht ändert, wenn das Modell gedreht ankommt. 0 deaktiviert den Aufschlag.
sls_contour_countnumberSLS: Anzahl der Kontur- (Rand-) Durchgänge, die der Laser um die Umrisse jeder Schicht fährt. 0 deaktiviert den Konturdurchgang.
sls_contour_speednumberSLS: Kontur-Scangeschwindigkeit in mm/s. 0 bedeutet, dass die Kontur mit sls_laser_speed gescannt wird.
sls_jump_speednumberSLS: Galvo-Sprunggeschwindigkeit in mm/s für die nicht-sinternden Positionierungsbewegungen zwischen den Scanvektoren. 0 entspricht Sprüngen mit sls_laser_speed, einer Obergrenze.
sls_part_spacingnumberSLS: minimaler Pulverabstand um ein Bauteil in mm, der sowohl zwischen Bauteilen als auch zur Kammerwand angewendet wird. Er bestimmt, wie viele Bauteile in einen Druckauftrag passen, und beeinflusst somit sowohl den Maschinenplatzanteil als auch die Fixkostenverteilung. 0 verwendet den Standardwert der Engine von 3 mm.
max_volumetric_flownumberMaximum volumetric flow rate in mm³/s.

material_config

Materialkonfigurationsparameter. Alle Felder sind optional und verwenden Ihre Standardwerte aus dem Materialprofil, falls nicht angegeben.

Materialprofilintegration: Der Parameter filament_type sollte mit einem Materialnamen aus Ihrem Materialprofil im Dashboard übereinstimmen. Wenn Sie einen filament_type (z. B. "PLA", "ABS", "PETG") angeben, lädt die API automatisch alle Eigenschaften aus diesem Materialprofil, einschließlich Dichte, Temperaturen, Retraktionseinstellungen und Preise.

Preisgenauigkeit: Die Materialkosten werden aus price_per_gram berechnet. Es genügt, im Materialprofil entweder price_per_kg oder price_per_gram zu setzen — der jeweils andere Wert wird automatisch synchron gehalten. Den Preis können Sie weiterhin pro Anfrage überschreiben, indem Sie price_per_gram oder price_per_kg in material_config angeben.

Beispiel: Wenn Sie ein "PLA"-Materialprofil in Ihrem Dashboard mit price_per_kg: 20.0 und price_per_gram: 0.02 haben, können Sie einfach {"filament_type": "PLA"} in Ihrer Anfrage senden, und alle Preise werden automatisch berechnet.

ParameterTypBeschreibung
filament_typestringFilament type (PLA, ABS, PETG, etc.)
colorstringFarbname (z. B. 'White', 'Black', '#FFFFFF'). Hinweis: Bei den volumenbasierten Technologien (SLA, SLS, SLM, MJF) wird die Farbe nur angewendet, wenn 'post_processing' auf 'painting' oder 'painted' gesetzt ist.
densitynumberMaterial density (g/cm³)
diameternumberFilament diameter (mm)
filament_flow_rationumberFDM-Flussverhältnismultiplikator. 1,0 entspricht 100 % Fluss. Angeforderte Werte überschreiben das ausgewählte Materialprofil des Benutzers; falls diese fehlen, wird der globale Profilwert vor dem Standardwert 1,0 herangezogen.
powder_bulk_densitynumberSLS: Bulk density of loose powder in g/cm³. Used for reusable powder and refresh calculations.
temperaturenumberPrint temperature (°C)
print_temp_minnumberMinimum print temperature (°C)
print_temp_maxnumberMaximum print temperature (°C)
bed_temperaturenumberBed temperature (°C)
bed_temp_minnumberMinimum bed temperature (°C)
bed_temp_maxnumberMaximum bed temperature (°C)
fan_speednumberFan speed (0-100%)
min_fan_speednumberMinimum fan speed (0-100%)
retraction_distancenumberRetraction distance (mm)
retraction_speednumberRetraction speed (mm/s)
slow_down_min_speednumberLower speed bound for layer cooling (mm/s). Reference default 20.
retraction_minimum_travelnumberOverrides the printer value for this material (mm).
z_hop_mmnumberOverrides the printer value for this material (mm).
price_per_kgnumberPrice per kilogram
price_per_gramnumberPrice per gram
support_cost_multipliernumberSupport material cost multiplier
sls_refresh_factornumberSLS powder refresh rate ratio (e.g. 0.3 = 30% fresh powder).
mjf_refresh_factornumberMJF-Pulver-Auffrischrate (z. B. 0,2 = 20 % Frischpulver). HP veröffentlicht je Pulver eine eigene Rate, die anders gemessen wird als die SLS-Rate desselben Polymers. Weglassen, um auf sls_refresh_factor zurückzufallen.
mjf_fusing_agent_ml_per_cm3numberMJF: verbrauchtes Fusionsmittel je cm3 verschmolzenem Bauteilvolumen (mL/cm3). Betriebsmessung; 0 lässt die Kosten der Agenzien aus dem Angebot heraus.
mjf_detail_agent_ml_per_cm2numberMJF: verbrauchtes Detailmittel je cm2 verschmolzener Randfläche (mL/cm2). Betriebsmessung; 0 lässt sie heraus.
mjf_agent_cost_per_liternumberMJF: Preis des Agens je Liter in der Angebotswährung. 0 deaktiviert die Kostenposition für Agenzien.
metal_powder_loss_factornumberSLM: Sieb- und Handhabungsverlust als Anteil am Bauteil- plus Stützvolumen (0,05 = 5 %). Ungenutztes Metallpulver wird gesiebt und wiederverwendet, daher wird - anders als bei SLS und MJF - das umgebende Pulver NICHT berechnet.
max_volumetric_flownumberMaterial specific volumetric flow limit in mm³/s.
min_layer_timenumberMinimum layer time in seconds for cooling.

quote_config

Konfigurationsparameter für die Angebotsberechnung. Alle Felder sind optional und verwenden Ihre Standardwerte aus den globalen Einstellungen, falls nicht angegeben. Die Währung ist standardmäßig auf Ihre Dashboard-Präferenz eingestellt (z. B. "USD", "TRY", "EUR").

ParameterTypBeschreibung
currencystringCurrency code, one of TRY, USD, EUR, GBP, JPY, CNY, RUB, CAD, AUD, CHF, SEK, NOK, DKK, SGD, HKD, NZD, MXN, BRL, INR; case does not matter. Defaults to your dashboard preference.
tax_ratenumberTax rate percentage (0-100)
fixed_feenumberFixed fee per quote
minimum_pricenumberMindestpreis pro Angebot: eine Untergrenze vor Steuern für das gesamte Angebot. Ein günstigeres Angebot wird auf sie angehoben, ein teureres bleibt unverändert. Standard ist Ihr Mindestpreis für die Technologie des Angebots; 0 = keiner.
energy_cost_per_kwhnumberEnergy cost per kWh
hollowingstringSpezifisch für SLA, SLS und MJF: 'solid', '2mm' oder '3mm'. Für SLA ist '2mm' die Vorgabe, wenn das Aushöhlen für SLA in Ihren Einstellungen aktiviert ist; für SLS und MJF gilt dasselbe über deren eigene Einstellung. Wird für FDM ignoriert, wo der Hohlraum über fill_density bestimmt wird, und für SLM, wo ein geschlossener Hohlraum Pulver einschließen würde, das nicht entfernt werden kann. SLS- und MJF-Bauteile werden OHNE Auslassloch ausgehöhlt: Das nicht verschmolzene Pulver bleibt innen, wird mit der Pulverbettdichte statt der Feststoffdichte berechnet und ist nicht rückgewinnbar.
post_processingstringVolumenbasierte Technologien (SLA, SLS, SLM, MJF): 'standard', 'sanding', 'painting' oder 'painted' (Vorgabe: 'standard'). Der Wert wird im Angebot festgehalten und über die technologiespezifischen Nachbearbeitungsgebühren in den globalen Einstellungen bepreist. SLM-Gebühren liegen durchweg höher, weil schon 'standard' das Abtrennen des Bauteils von der Bauplatte und die Oberflächenreinigung umfasst.
sla_post_processing_fee_standardnumberSLA standard post-processing fee per part. Overrides the settings value; post_processing selects which one applies.
sla_post_processing_fee_sandingnumberSLA sanding post-processing fee per part. Overrides the settings value; post_processing selects which one applies.
sla_post_processing_fee_paintingnumberSLA painting post-processing fee per part. Overrides the settings value; post_processing selects which one applies.
sla_post_processing_fee_paintednumberSLA painted post-processing fee per part. Overrides the settings value; post_processing selects which one applies.
sls_post_processing_fee_standardnumberSLS standard post-processing fee per part. Overrides the settings value; post_processing selects which one applies.
sls_post_processing_fee_sandingnumberSLS sanding post-processing fee per part. Overrides the settings value; post_processing selects which one applies.
sls_post_processing_fee_paintingnumberSLS painting post-processing fee per part. Overrides the settings value; post_processing selects which one applies.
sls_post_processing_fee_paintednumberSLS painted post-processing fee per part. Overrides the settings value; post_processing selects which one applies.
mjf_post_processing_fee_standardnumberMJF: Gebühr, die bei post_processing 'standard' anfällt.
mjf_post_processing_fee_sandingnumberMJF: Gebühr, die bei post_processing 'sanding' anfällt.
mjf_post_processing_fee_paintingnumberMJF: Gebühr, die bei post_processing 'painting' anfällt.
mjf_post_processing_fee_paintednumberMJF: Gebühr, die bei post_processing 'painted' anfällt.
slm_post_processing_fee_standardnumberSLM: Gebühr, die bei post_processing 'standard' anfällt.
slm_post_processing_fee_sandingnumberSLM: Gebühr, die bei post_processing 'sanding' anfällt.
slm_post_processing_fee_paintingnumberSLM: Gebühr, die bei post_processing 'painting' anfällt.
slm_post_processing_fee_paintednumberSLM: Gebühr, die bei post_processing 'painted' anfällt.
mjf_min_build_fillnumberMJF: Mindestanteil eines Baujobs, den ein Auftrag bezahlt. 0 = der Baujob wird mit anderen Aufträgen geteilt, 1 = der Auftrag bezahlt den gesamten Baujob.
enable_batch_systembooleanEnable/disable batch calculation system (default: true)
sls_min_build_fillnumberSLS: minimale Bauteilauslastung als Bruchteil zwischen 0 und 1. Der Auftrag wird so abgerechnet, als ob er mindestens diesen Anteil eines Drucklaufs ausfüllen würde – 0 teilt den Druckauftrag mit anderen Aufträgen, 1 berechnet einen kompletten Druckauftrag. Wird ignoriert, wenn enable_batch_system auf false steht.
material_wastage_factornumberFactor for calculating material wastage (e.g. 1.10 for 10% wastage).
volume_discount_tiersarrayQuantity discount tiers, e.g. [{"minVolume": 100, "discount": 5}]. Falls back to your Global Settings tiers.

Tipp: Angebote werden automatisch in Ihrem Konto gespeichert. Sie können jederzeit über die Angebotsverlaufs-Endpunkte darauf zugreifen.

6. Drucker- & Angebotsprofile

Konfigurieren Sie Druckereinstellungen und Preise, um genaue Angebote zu erhalten. Sie können Ihre Standardprofile im Dashboard im Bereich 'Slice-Profile' verwalten, die automatisch verwendet werden, wenn Sie in API-Anfragen keine Parameter angeben.

Profiltypen

  • Druckerprofil – Konfigurieren Sie Ihre Druckereinstellungen (Bettgröße, Düsendurchmesser, Druckgeschwindigkeit, Schichthöhe, Beschleunigung, Jerk, Temperaturen usw.), um sie an Ihren tatsächlichen Drucker anzupassen. Legen Sie dieses als Ihr Standardprofil im Dashboard fest, und es wird für alle Angebotsanfragen verwendet, es sei denn, Sie überschreiben bestimmte Parameter.
  • Materialprofil – Legen Sie Materialeigenschaften (Filamenttyp, Dichte, Durchmesser, Temperaturen, Lüftergeschwindigkeit, Retraktionseinstellungen, Preise) für jedes von Ihnen verwendete Material fest. Die API verwendet automatisch das Materialprofil, das dem von Ihnen in der Anfrage angegebenen filament_type entspricht.
  • Globale Einstellungen – Konfigurieren Sie globale Angebotseinstellungen wie Mehrwertsteuersatz, feste Gebühren, Energiekosten und Standardwährung. Diese Einstellungen gelten für alle Angebote, es sei denn, sie werden in der Anfrage überschrieben.

Best Practice: Richten Sie Ihre Standardprofile im Dashboard-Slice-Profile-Bereich ein. Auf diese Weise können Sie einfache Angebotsanfragen stellen, ohne alle Parameter anzugeben, und die API verwendet automatisch Ihre konfigurierten Standardwerte. Sie können bei Bedarf weiterhin jeden Parameter pro Anfrage überschreiben.

Wie die Profilzusammenführung funktioniert

Wenn Sie eine Angebotsanfrage stellen, führt die API Ihre Anfrageparameter mit Ihren Dashboard-Profilen zusammen, wobei diese Priorität gilt:

  1. Anfrageparameter – Werte, die Sie explizit in der API-Anfrage angeben, haben die höchste Priorität
  2. Benutzerprofil – Wenn Sie ein benutzerspezifisches Profil als Standard festgelegt haben, wird dieses als Nächstes verwendet
  3. Globales Profil – Wenn kein Benutzerprofil vorhanden ist, greift das System auf globale Standardwerte zurück

Das bedeutet, dass Sie nur die Parameter überschreiben können, die Sie benötigen (z. B. nur layer_height oder fill_density), während alle anderen Einstellungen aus Ihren Dashboard-Profilen beibehalten werden.

7. Webhooks

Echtzeitbenachrichtigungen erhalten, wenn Ereignisse in Ihrem Konto auftreten:

  • POST /v2/webhooks - Einen neuen Webhook-Endpunkt erstellen
  • GET /v2/webhooks - Ihre Webhooks auflisten
  • GET /v2/webhooks/{webhook_id} - Webhook-Details und Lieferstatistiken abrufen
  • PUT /v2/webhooks/{webhook_id} - Webhook-Einstellungen aktualisieren
  • DELETE /v2/webhooks/{webhook_id} - Webhook entfernen
  • POST /v2/webhooks/{webhook_id}/deliveries/{delivery_id}/resend - Eine frühere Zustellung erneut senden, etwa nachdem Sie Ihren Endpunkt repariert haben

Unterstützte Ereignisse: quote.completed, quote.failed, file.uploaded, file.deleted, job.status_changed, widget.added_to_cart, usage.alert. Webhooks enthalten HMAC-SHA256-Signaturen zur Sicherheitsüberprüfung.

Webhooks-Referenz: Payload-Struktur, Signaturverifizierung, Wiederholungsversuche und erneute Zustellung

8. Analysen & Berichte

Erhalten Sie Einblicke in Ihre API-Nutzung und Angebotsstatistiken:

  • GET /v2/analytics/quotes - Erhalten Sie umfassende Angebotsstatistiken, einschließlich der Gesamtzahl der Angebote, durchschnittliche Preise und Trends bei der Materialverwendung.
  • GET /v2/analytics/popular - Sehen Sie Ihre beliebtesten Materialien und Drucker-Konfigurationen.
  • GET /v2/analytics/cost-trends - Analysieren Sie Kostentrends im Zeitverlauf (tägliche, wöchentliche oder monatliche Gruppierung).
  • GET /v2/analytics/export - Exportieren Sie Ihre Angebote und Nutzungsdaten als CSV oder JSON.

9. Katalog & Bestand

Verwalten Sie die eigenen Drucker, Materialien, Farben, den Farbbestand, die Preise und Technologien des Kontos mit einem Server-Token. Das Widget liest denselben Katalog, eine Änderung erreicht das Angebotsformular also sofort. Widget-Tokens werden abgelehnt, und diese Aufrufe zählen nicht zum monatlichen Anfragekontingent:

  • GET /v2/store/catalog - Alles, was das Konto anbietet, mit Bereitschaft je Technologie und knapp werdenden Farben
  • GET /v2/store/catalog/schema - Die Drucker-, Material- und Preisformulare des Dashboards mit Grenzen, Einheiten und Hilfetexten in der gewünschten Sprache
  • POST /v2/store/catalog/adopt - Globale Drucker und Materialien mit den gewählten Farben, Preisen und dem Anfangsbestand ins Konto kopieren
  • POST /v2/store/catalog/materials - Ein Material anlegen, wahlweise ausgehend von einem globalen
  • GET · PATCH · DELETE /v2/store/catalog/materials/{id} - Ein Material samt Bestandseinstellungen lesen, ändern oder löschen
  • PUT /v2/store/catalog/materials/{id}/colors - Die Farbliste eines Materials ersetzen; der Bestand vorhandener Farben bleibt erhalten
  • GET · PATCH · DELETE /v2/store/catalog/printers/{id} - Einen Drucker lesen, ändern oder löschen
  • GET · PATCH · DELETE /v2/store/catalog/pricing - Die Preiseinstellungen lesen, ändern oder zurücksetzen; eine andere Währung ändert die Kontowährung, ohne Beträge umzurechnen
  • GET · PUT /v2/store/catalog/technologies - Welche Technologien der Tarif erlaubt und welche aktiv sind
  • GET · POST /v2/store/stock/movements - Zugang, Inventur oder Ausschuss erfassen und den Bestandsverlauf auflisten
  • POST /v2/store/stock/orders - Das Material einer bezahlten Bestellung abbuchen, zurückbuchen oder prüfen, höchstens einmal je Angebot

PATCH-Bodys enthalten values und updated_at. values nutzt dieselben snake_case-Feldnamen wie die Katalogliste (ein Name, den das Formular nicht hat, wird mit 400 abgelehnt); wurde das Profil seit Ihrem Lesen geändert, antwortet der Aufruf mit 409 und error_key stale.

10. Ratenbegrenzung und Kontingente

Quote3D verwendet Ratenbegrenzung, um eine faire Nutzung und Systemstabilität zu gewährleisten.

  • Ratenbegrenzungen werden pro API-Token angewendet und variieren je nach Endpunkt.
  • Informationen zur Ratenbegrenzung sind in den Antwort-Headern enthalten. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-RateLimit-Window
  • Wenn die Ratenbegrenzung erreicht ist, erhalten Sie eine 429 Too Many Requests-Antwort mit einem Retry-After-Header.
  • Ihr Plan legt ein Angebotskontingent fest, das in jedem Abrechnungszeitraum zurückgesetzt wird, und ein Speicherkontingent, das nie zurückgesetzt wird und nur durch Löschen von Dateien frei wird
  • Limits sind pro Deployment konfigurierbar, lesen Sie daher die aktuellen Werte aus, anstatt sie hart zu codieren. Sowohl die oben genannten Response-Header als auch dieser Endpoint melden diese: GET /v2/quota

Best Practice: Implementieren Sie einen exponentiellen Backoff beim Umgang mit Ratenbegrenzungsfehlern, um eine Überlastung der API zu vermeiden.

11. Antworten & Fehler

Erfolgreiche Antworten haben zwei Formen. Aufrufe zu Angeboten, Jobs, gespeicherten Angebotsdetails, Webhooks, Analysen, Nutzung, Kontingent und Konfiguration verpacken ihre Nutzdaten als success: true mit dem Ergebnis unter data. Aufrufe zu Dateien, Upload-ID, Benutzer, Uploads, Angebotsliste, Druckbarkeit sowie Katalog & Bestand liefern ihre Felder auf oberster Ebene. Das genaue Schema jedes Aufrufs steht in der API-Referenz. Dateidownloads und CSV-Exporte liefern den reinen Dateiinhalt.

{
  "success": true,
  "data": { "...": "endpoint-specific payload" }
}

Pagination & Sortierung

List-Endpunkte wie /v2/quotes und /v2/user/uploads sind mittels der Query-Parameter limit und offset paginiert (Standard: 50 Ergebnisse, maximal 100). Neben den Ergebnissen geben sie ein Pagination-Objekt zurück, das total, limit, offset, has_more, page und total_pages enthält; verwenden Sie daher vorzugsweise has_more, anstatt das Ende der Liste selbst neu zu berechnen. Die Sortierung verwendet einen einzelnen, wiederholbaren Parameter im Format field:direction, zum Beispiel ?sort=created_at:desc&sort=total_price:asc; bei Uploads erfolgt die Sortierung standardmäßig nach dem neuesten zuerst.

Fehlerantworten

Jeder Fehler hat dieselbe Form: eine detail-Liste, die Parameter oder Feld benennt (loc, msg, code), ein error_code wie AUTH_001, eine error_summary und, wo sinnvoll, recovery_suggestions und documentation_url. Verzweigen Sie nach HTTP-Status und error_code, nicht nach dem Text, der sich ändern kann.

StatusBedeutung
400Der Request-Body oder ein Query-Parameter ist ungültig – ein fehlerhaftes Feld, ein nicht unterstütztes Dateiformat oder ein Modell, das nicht zum ausgewählten Drucker passt.
401Der API-Token fehlt, ist fehlerhaft, abgelaufen oder widerrufen.
403Das Token ist gültig, darf diesen Aufruf aber nicht ausführen: eine Bereichsbeschränkung, ein Origin oder eine IP-Adresse, die nicht auf der Liste des Tokens steht (AUTH_004), oder ein aufgebrauchtes Tarifkontingent (RATE_002, mit den X-Quota-*-Headern).
404Die angeforderte Datei, das Angebot, der Job oder der Webhook existiert nicht oder gehört nicht zu Ihrem Konto.
429Ein Rate-Limit wurde überschritten. Lesen Sie den Retry-After-Header und warten Sie eine Zeitspanne ab, bevor Sie es erneut versuchen.
500Ein unerwarteter serverseitiger Fehler. Ein erneuter Versuch mit Backoff ist sicher; falls der Fehler weiterhin besteht, kontaktieren Sie den Support unter Angabe des Zeitstempels.

Asynchrone Angebote verhalten sich anders: Das Einreihen des Jobs in die Warteschlange ist mit 202 erfolgreich, und eine Berechnung, die danach fehlschlägt, erscheint als fehlerhafter Status mit einer Fehlermeldung am Job-Endpunkt – nicht als HTTP-Fehler. Überprüfen Sie immer den Job-Status und nicht nur den Statuscode, den Sie beim Start erhalten haben.

12. RESTful, versionierte API

  • Alle Endpunkte sind versioniert (z.B. /v2/)
  • Verwendet standardmäßige HTTP-Methoden: GET, POST, PUT, DELETE
  • Beschrieben durch ein OpenAPI-3.0.3-Schema, das Sie in Ihre eigenen Werkzeuge importieren können
  • Breaking Changes und Ergänzungen werden festgehalten im API-Changelog