openapi: 3.1.0 info: title: MachineMetrics API version: '2026-10-13' description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-13: 6 operation(s) read from 8 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; MachineMetrics has published no machine-readable contract that the pipeline could find. Engine: local.' x-evidence-tiers: code-example: 4 documentation: 2 pages-with-code: 7 pages-read: 8 x-generated-from: documentation x-provenance: generated x-authored-by: API Evangelist x-generated: '2026-10-13' x-generator: generate-contract-from-docs.py x-engine: local x-sources: - https://developers.machinemetrics.com/docs/tools/mmdev-cli/intro - https://developers.machinemetrics.com/docs/data-and-apis/authentication - https://developers.machinemetrics.com/docs/data-and-apis/rest/rest-documentation - https://developers.machinemetrics.com/docs/data-and-apis/expected-setup-allocation - https://developers.machinemetrics.com/docs/build-apps/getting-started - https://docs.machinemetrics.com/docs/getting-started/network-requirements - https://docs.machinemetrics.com/docs/getting-started/edge-device-setup-guide - https://developers.machinemetrics.com/docs/build-connectors/erp-connector/scaffold servers: - url: https://api.machinemetrics.com paths: /: get: operationId: get tags: - Api summary: GET / x-source: https://developers.machinemetrics.com/docs/data-and-apis/rest/rest-documentation responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: 'curl request is an example of HTTP Authorization header authentication using your API key: curl -H "Authorization: Bearer API-KEY" https://api.machinemetrics.com To create an API key, login to MachineMetrics and go to < https://app.machinemetrics.com/app/settings/api-keys >. Security Scheme Type: http HTTP Authorization Scheme: bearer JSON Web Tokens , or JWTs , are used as an additional layer of ' /MMDevCli/install_cli.sh: get: operationId: get_MMDevCli_install_cli_sh tags: - Mmdevcli summary: GET /MMDevCli/install_cli.sh x-source: https://developers.machinemetrics.com/docs/tools/mmdev-cli/intro responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -fsSL https://machinemetrics-public.s3.us-west-2.amazonaws.com/MMDevCli/install_cli.sh)\" && exec $SHELL -l \n Quick Start\ \ ​ \n Here's a typical flow for getting started with your first app: " /graphql: get: operationId: get_graphql tags: - Graphql summary: Authentication | MachineMetrics Developers x-source: https://developers.machinemetrics.com/docs/data-and-apis/authentication responses: '200': description: Success (status as documented) x-evidence: kind: documentation /ping: get: operationId: get_ping tags: - Ping summary: GET /ping x-source: https://docs.machinemetrics.com/docs/getting-started/network-requirements responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -v https://cloudlink.balena-cloud.com/ping \n Success: Returns a response (HTTP 200 or similar) \n Failure: Connection\ \ refused, timeout, or ECONNRESET — CloudLink is blocked \n Verify MachineMetrics API is reachable: " /reports/production: get: operationId: get_reports_production tags: - Reports summary: Authentication | MachineMetrics Developers x-source: https://developers.machinemetrics.com/docs/data-and-apis/authentication responses: '200': description: Success (status as documented) x-evidence: kind: documentation post: operationId: post_reports_production tags: - Reports summary: POST /reports/production x-source: https://developers.machinemetrics.com/docs/data-and-apis/authentication requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostReportsProductionRequest' responses: '201': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl to illustrate the general concept. Below are examples of queries to both our GraphQL as well as our Production Reporting\ \ endpoints. \n Replace INSERT_API_KEY_HERE with the API Key acquired earlier. \n REST curl -H \"Authorization: Bearer API-KEY\" https://api.machinemetrics.com/reports/production\ \ curl 'https://api.machinemetrics.com/reports/production' \\ -H 'Authorization: Bearer INSERT_API_KEY_H" components: schemas: PostReportsProductionRequest: type: object properties: startDay: type: string format: date endDay: type: string format: date data: type: array items: type: object properties: metric: type: string securitySchemes: bearer: type: http scheme: bearer security: - bearer: [] tags: - name: Api - name: Graphql - name: Mmdevcli - name: Ping - name: Reports