{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"3ea83101-866c-4ed3-b0ea-6b76ee1cd89e","name":"EMT Compute API — Scientific Experiments, Robotics & AI","description":"# Put GPU computing to work in your research pipeline\n\n**EMT Compute**, developed by **EMT Aerospace Technologies S.r.l.**, connects on-demand GPU resources with scientific experiments, custom code, guided AI training and simulation workflows. EMT works across aerospace R&D, AI, robotics and autonomous systems from Lumezzane, Italy.\n\nExplore the platform at [emtcompute.com](https://emtcompute.com/?utm_source=postman&utm_medium=api_network&utm_campaign=research_integrations). For a research project or commercial integration, contact [info@emtaerospacetechnologies.com](mailto:info@emtaerospacetechnologies.com) with your workload, data size, target outcome and timing. We can scope a paid pilot with agreed technical objectives and budget.\n\n## Release 0.9.1: your code, your data, inspectable results\n\nPrepare a first scientific experiment with a guided configuration, or bring your own Python program, command and input files. Record equations, inputs, outputs and explanations with `ctx.explain(...)` or `EMT_CALCULATION_JSON`. Reports distinguish the execution environment from the device declared by your program; an allocated GPU alone does not establish that arbitrary code used it.\n\nFor AI training, inspect the reproducible recipe and export the complete event history. Recorded events can include training and evaluation loss, learning rate, gradient norm, runtime versions and observed dataset SHA-256 hashes. When resuming a remote dataset, the runner checks its bytes against recorded checkpoint evidence; older checkpoints may not have a comparison baseline.\n\nThe hosted MCP integration now includes four read-only training tools alongside experiments, quotes, GPU nodes and clusters. Prices and budgets are in EUR; no paid operation runs automatically from this collection.\n\n## What you can build\n\n- **Scientific experiments and simulations:** execute supported presets or your own code; inspect results and recorded calculation steps.\n- **AI development:** guided training with dataset, model, method and resource choices, plus checkpoints. The platform also deploys supported one-click models on a suitably sized single machine with an HTTPS endpoint.\n- **Robotics, drones and autonomy:** develop and compare control policies in simulation. Physical deployment and validation remain separate engineering work.\n- **GPU instances, nodes and clusters:** select compatible resources for independent experiments or distributed code. Multiple nodes do not automatically parallelize an arbitrary solver.\n- **Connected workflows:** integrate through the REST API, [MCP](https://emtcompute.com/mcp) or the [downloadable n8n workflow](https://emtcompute.com/integrations).\n\n## Start here\n\n1. Fork this collection into your own workspace.\n2. Run **01 — Discover resources** without a key. Catalog availability changes; an empty catalog is a valid result.\n3. For account requests, create a scoped key in your EMT account. Set `emt_api_key` in a **private, local environment value**. Never publish a key or save authenticated responses in a public workspace. Read requests need `read`; experiment quotes require `rent`.\n4. Explore your jobs and reports in folders 02–04. Set IDs from your own account. Requests with missing variables are skipped.\n5. Use folder 05 to request a fresh quote. **This starter collection does not start or rent compute.** Quotes do not reserve hardware. Prices, credit and budgets are in EUR. Monetary values use integer microEUR: divide by 1,000,000 for EUR. This collection sends `X-EMT-Currency: EUR`; older clients receive `426` until updated.\n\nThe API is documented in the [OpenAPI contract](https://emtcompute.com/openapi.json). This collection deliberately contains discovery, observation and quote requests. Workload launch and lifecycle operations are documented in that contract and in the n8n integration.\n\n## From a quote to an execution\n\nA paid launch requires current account terms, sufficient credit, service eligibility, available compatible hardware and a fresh quote. Review the quoted hourly cost and reserved amount before calling `POST /orders`, `POST /cluster-orders` or `POST /experiment-jobs`. Use the documented request schema and a stable `Idempotency-Key`; after an uncertain response, reconcile the existing operation instead of creating a new key and risking a duplicate rental. Check completion **and resource release**. Cancelling a job is not evidence that all resources have stopped billing.\n\nGuided training has its own prepare, start, stop and resume lifecycle. Model licensing and runtime compatibility apply; the model preset catalog is not an inference endpoint.\n\n## Inspect the calculation\n\nFor jobs executed with the reporting runtime, `GET /experiment-jobs/{id}/reports/{index}` returns a ZIP containing readable reports and provenance. Reports record configuration, runtime, hashes, results and program-declared calculation steps. Custom code must declare intermediate steps through `ctx.explain(...)` or `EMT_CALCULATION_JSON`. Reports do not reconstruct unrecorded operations or independently prove an arbitrary algorithm correct.\n\n## Response handling\n\n- `401`: missing or invalid key.\n- `403`: scope, account eligibility or terms requirement.\n- `404`: an owned resource or file is unavailable.\n- `409`: stale quote, changed capacity or reconciliation required.\n- `503`: service unavailable or not enabled; inspect the response before retrying.\n\nUse current quotes and account settings for pricing. There is no universal cost or performance guarantee for a research workload.\n\n**EMT Aerospace Technologies S.r.l.** · Lumezzane (BS), Italy · VAT IT04772590982 · REA BS-640314  \n[Company](https://www.emtaerospacetechnologies.com/) · [Platform](https://emtcompute.com/) · [Integrations](https://emtcompute.com/integrations) · [info@emtaerospacetechnologies.com](mailto:info@emtaerospacetechnologies.com)\n","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"59570866","team":46803171,"collectionId":"3ea83101-866c-4ed3-b0ea-6b76ee1cd89e","publishedId":"2sBYHYscSW","public":true,"publicUrl":"https://documenter-api.postman.tech/view/59570866/2sBYHYscSW","privateUrl":"https://go.postman.co/documentation/59570866-3ea83101-866c-4ed3-b0ea-6b76ee1cd89e","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"Connect GPU computing to scientific experiments, your own code and data, AI training, robotics and drone simulation. Discover nodes and clusters, inspect calculation reports and training history, and review EUR quotes with EMT Aerospace Technologies."},{"name":"title","value":"EMT Compute API | Custom Experiments, AI Training, Robotics &amp; GPU Clusters"}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.12.11","publishDate":"2026-11-05T00:44:59.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"EMT Compute API | Custom Experiments, AI Training, Robotics &amp; GPU Clusters","description":"Connect GPU computing to scientific experiments, your own code and data, AI training, robotics and drone simulation. Discover nodes and clusters, inspect calculation reports and training history, and review EUR quotes with EMT Aerospace Technologies."},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/752b06a9f31393a252f78368575b1061bbaf1760082045d15535b67330d4bde5","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2sBYHYscSW"}