---
seo:
  description: REST surface exposing the AMFG Engine entities to external integrations.
sidebar:
  label: Overview
title: AMFG Public API
---
REST surface exposing the AMFG Engine entities to external integrations.

## Authentication

One header, one credential — an **Incoming Secret** created through the console (Settings → API Keys) or `POST /api/v1/secret`. The value (`<secretId>.<random>`) is shown once on create and sent on every call:

```
Authorization: <secret>          # a "Bearer " prefix is also accepted
```

Every authentication failure returns an identical `401 {"code":401,"message":"Not Authorized"}` with no distinction of cause. Secrets created before the Public API shipped cannot authenticate here — regenerate them.

## Conventions

- **Retrieves are filtered lists**: a missing id returns `200` with an empty body, not 404 — check for an `id` in the response.
- **List filters are query parameters**; repeatable parameters build arrays (`?ids=1&ids=2`). Date filters accept a single date or a range (`?createdAt[from]=…&createdAt[to]=…`).
- **Updates are whole-record**, not patches — omitting a field the schema requires is a 400 naming it.
- **Downstream errors pass through verbatim** (status, `code`, `message`, `type`), and `x-error-source` / `x-error-source-request-id` headers name the failing service — quote them in support tickets.
- Every authenticated call is metered.

Field-level entity semantics: [AMFG Engine API Reference](https://amfg.atlassian.net/wiki/spaces/AR/pages/1527545879/AMFG+Engine+API+Reference).

## MCP

The same operations for quotes, tickets and parts are exposed as 9 MCP tools at `POST /mcp` (Model Context Protocol, 2026-07-28 spec, same Authorization header) — see the MCP tag.

Version 1.0.0

Base URL: `https://next.amfg.ai/engine-service/public-api/v1`

## Apps

- [`GET /app`](/engine-service/public-api/v1/docs/reference/apps/app-retrieve) — Get the app settings.

## Blanks

- [`GET /blank`](/engine-service/public-api/v1/docs/reference/blanks/blank-list) — List blanks.
- [`POST /blank`](/engine-service/public-api/v1/docs/reference/blanks/blank-create) — Create a blank.
- [`GET /blank/{id}`](/engine-service/public-api/v1/docs/reference/blanks/blank-retrieve) — Get a blank.

## Catalogue Models

- [`GET /catalogue-model`](/engine-service/public-api/v1/docs/reference/catalogue-models/catalogue-model-list) — List catalogue models.
- [`POST /catalogue-model`](/engine-service/public-api/v1/docs/reference/catalogue-models/catalogue-model-create) — Create a catalogue model.
- [`GET /catalogue-model/{id}`](/engine-service/public-api/v1/docs/reference/catalogue-models/catalogue-model-retrieve) — Get a catalogue model.
- [`PUT /catalogue-model/{id}`](/engine-service/public-api/v1/docs/reference/catalogue-models/catalogue-model-update) — Update a catalogue model.
- [`DELETE /catalogue-model/{id}`](/engine-service/public-api/v1/docs/reference/catalogue-models/catalogue-model-remove) — Delete a catalogue model.

## Catalogues

- [`POST /catalogue`](/engine-service/public-api/v1/docs/reference/catalogues/catalogue-create) — Create a catalogue project.

## Colours

- [`GET /colour`](/engine-service/public-api/v1/docs/reference/colours/colour-list) — List colours.
- [`GET /colour/{id}`](/engine-service/public-api/v1/docs/reference/colours/colour-retrieve) — Get a colour.

## Currencys

- [`GET /currency`](/engine-service/public-api/v1/docs/reference/currencys/currency-list) — List currencys.
- [`GET /currency/{id}`](/engine-service/public-api/v1/docs/reference/currencys/currency-retrieve) — Get a currency.

## Customers

- [`GET /customer`](/engine-service/public-api/v1/docs/reference/customers/customer-list) — List customers.
- [`POST /customer`](/engine-service/public-api/v1/docs/reference/customers/customer-create) — Create a customer.
- [`GET /customer/{id}`](/engine-service/public-api/v1/docs/reference/customers/customer-retrieve) — Get a customer.
- [`PUT /customer/{id}`](/engine-service/public-api/v1/docs/reference/customers/customer-update) — Update a customer.

## Items

- [`GET /item`](/engine-service/public-api/v1/docs/reference/items/item-list) — List items.
- [`POST /item`](/engine-service/public-api/v1/docs/reference/items/item-create) — Create an item.
- [`PUT /item/{id}`](/engine-service/public-api/v1/docs/reference/items/item-update) — Update an item.
- [`DELETE /item/{id}`](/engine-service/public-api/v1/docs/reference/items/item-remove) — Delete an item (NOT IMPLEMENTED).
- [`GET /item/{partItemId}`](/engine-service/public-api/v1/docs/reference/items/item-retrieve) — Get an item.

## MCP

- [`POST /mcp`](/engine-service/public-api/v1/docs/reference/mcp/mcp) — MCP endpoint (9 tools over JSON-RPC 2.0).

## Machine Groups

- [`GET /machine-group`](/engine-service/public-api/v1/docs/reference/machine-groups/machine-group-list) — List machine groups.
- [`POST /machine-group`](/engine-service/public-api/v1/docs/reference/machine-groups/machine-group-create) — Create a machine group.
- [`GET /machine-group/{id}`](/engine-service/public-api/v1/docs/reference/machine-groups/machine-group-retrieve) — Get a machine group.
- [`PUT /machine-group/{id}`](/engine-service/public-api/v1/docs/reference/machine-groups/machine-group-update) — Update a machine group.
- [`DELETE /machine-group/{id}`](/engine-service/public-api/v1/docs/reference/machine-groups/machine-group-remove) — Delete a machine group.

## Machines

- [`GET /machine`](/engine-service/public-api/v1/docs/reference/machines/machine-list) — List machines.
- [`POST /machine`](/engine-service/public-api/v1/docs/reference/machines/machine-create) — Create a machine.
- [`GET /machine/{id}`](/engine-service/public-api/v1/docs/reference/machines/machine-retrieve) — Get a machine.
- [`PUT /machine/{id}`](/engine-service/public-api/v1/docs/reference/machines/machine-update) — Update a machine.
- [`DELETE /machine/{id}`](/engine-service/public-api/v1/docs/reference/machines/machine-remove) — Delete a machine.
- [`POST /machine/by-proximity`](/engine-service/public-api/v1/docs/reference/machines/machine-list-by-proximity) — List machines by proximity.
- [`PUT /machine/{machineId}/reels`](/engine-service/public-api/v1/docs/reference/machines/machine-update-reels) — Assign the reels of a machine.

## Material Series

- [`GET /material-series`](/engine-service/public-api/v1/docs/reference/material-series/material-series-list) — List material seriess.
- [`GET /material-series/{id}`](/engine-service/public-api/v1/docs/reference/material-series/material-series-retrieve) — Get a material series.
- [`PUT /material-series/{id}`](/engine-service/public-api/v1/docs/reference/material-series/material-series-update) — Update a material series.
- [`DELETE /material-series/{id}`](/engine-service/public-api/v1/docs/reference/material-series/material-series-remove) — Delete a material series.

## Materials

- [`GET /material`](/engine-service/public-api/v1/docs/reference/materials/material-list) — List materials.
- [`POST /material`](/engine-service/public-api/v1/docs/reference/materials/material-create) — Create a material.
- [`GET /material/{id}`](/engine-service/public-api/v1/docs/reference/materials/material-retrieve) — Get a material.
- [`PUT /material/{id}`](/engine-service/public-api/v1/docs/reference/materials/material-update) — Update a material.
- [`DELETE /material/{id}`](/engine-service/public-api/v1/docs/reference/materials/material-remove) — Delete a material.

## Meeting Notes

- [`GET /meeting-note`](/engine-service/public-api/v1/docs/reference/meeting-notes/meeting-note-list) — List meeting notes.
- [`POST /meeting-note`](/engine-service/public-api/v1/docs/reference/meeting-notes/meeting-note-create) — Create a meeting note.

## Model Versions

- [`GET /model-version`](/engine-service/public-api/v1/docs/reference/model-versions/model-version-list) — List model versions.
- [`GET /model-version/{id}`](/engine-service/public-api/v1/docs/reference/model-versions/model-version-retrieve) — Get a model version.
- [`POST /model-version/{id}/fields-resolve`](/engine-service/public-api/v1/docs/reference/model-versions/model-version-fields-resolve) — Resolve model fields.

## PPS

- [`GET /pps`](/engine-service/public-api/v1/docs/reference/pps/pps-list) — List PPS records.
- [`GET /pps/{id}`](/engine-service/public-api/v1/docs/reference/pps/pps-retrieve) — Get a PPS record.

## Parts (ticket models)

- [`GET /ticket-model/{ticketModelId}/machining-strategy/{serviceId}`](/engine-service/public-api/v1/docs/reference/parts-ticket-models/machining-strategy-retrieve) — Get a machining strategy.
- [`PUT /ticket-model/{ticketModelId}/machining-strategy/{serviceId}`](/engine-service/public-api/v1/docs/reference/parts-ticket-models/machining-strategy-update) — Set the machining strategy of a part service.
- [`PUT /ticket-model/{ticketModelId}/post-processing`](/engine-service/public-api/v1/docs/reference/parts-ticket-models/service-job-post-processing-update) — Update a service job post processing.
- [`GET /ticket-model`](/engine-service/public-api/v1/docs/reference/parts-ticket-models/ticket-model-list) — List ticket models.
- [`POST /ticket-model`](/engine-service/public-api/v1/docs/reference/parts-ticket-models/ticket-model-create) — Create a ticket model.
- [`GET /ticket-model/{id}`](/engine-service/public-api/v1/docs/reference/parts-ticket-models/ticket-model-retrieve) — Get a ticket model.
- [`PUT /ticket-model/{id}`](/engine-service/public-api/v1/docs/reference/parts-ticket-models/ticket-model-update) — Update a ticket model.
- [`DELETE /ticket-model/{id}`](/engine-service/public-api/v1/docs/reference/parts-ticket-models/ticket-model-remove) — Delete a ticket model.
- [`POST /ticket-model/from-catalogue`](/engine-service/public-api/v1/docs/reference/parts-ticket-models/ticket-model-create-from-catalogue) — Create parts from a catalogue.
- [`POST /ticket-model/{id}/similarity`](/engine-service/public-api/v1/docs/reference/parts-ticket-models/ticket-model-similarity) — Find similar parts.

## Production Notes

- [`GET /production-note`](/engine-service/public-api/v1/docs/reference/production-notes/production-note-list) — List production notes.
- [`POST /production-note`](/engine-service/public-api/v1/docs/reference/production-notes/production-note-create) — Create a production note.

## Production Parameter Fields

- [`GET /production-parameter-field`](/engine-service/public-api/v1/docs/reference/production-parameter-fields/production-parameter-field-list) — List production parameter fields.

## Projects (orders)

- [`GET /project/lookup`](/engine-service/public-api/v1/docs/reference/projects-orders/project-retrieve) — Look up an order by any identifier.
- [`GET /project`](/engine-service/public-api/v1/docs/reference/projects-orders/project-list) — List projects.
- [`POST /project`](/engine-service/public-api/v1/docs/reference/projects-orders/project-create) — Create a project.
- [`GET /project/{id}`](/engine-service/public-api/v1/docs/reference/projects-orders/project-retrieve-project-id) — Get a project.
- [`PUT /project/{id}`](/engine-service/public-api/v1/docs/reference/projects-orders/project-update) — Update a project.

## Quotation Form Regions

- [`GET /quotation-form-region`](/engine-service/public-api/v1/docs/reference/quotation-form-regions/quotation-form-region-list) — List quotation form regions.
- [`POST /quotation-form-region`](/engine-service/public-api/v1/docs/reference/quotation-form-regions/quotation-form-region-create) — Create a quotation form region.
- [`GET /quotation-form-region/{id}`](/engine-service/public-api/v1/docs/reference/quotation-form-regions/quotation-form-region-retrieve) — Get a quotation form region.
- [`PUT /quotation-form-region/{id}`](/engine-service/public-api/v1/docs/reference/quotation-form-regions/quotation-form-region-update) — Update a quotation form region.
- [`DELETE /quotation-form-region/{id}`](/engine-service/public-api/v1/docs/reference/quotation-form-regions/quotation-form-region-remove) — Delete a quotation form region.

## Quotation Forms

- [`GET /quotation-form`](/engine-service/public-api/v1/docs/reference/quotation-forms/quotation-form-list) — List quotation forms.
- [`GET /quotation-form/{id}`](/engine-service/public-api/v1/docs/reference/quotation-forms/quotation-form-retrieve) — Get a quotation form.

## Quotes

- [`GET /ticket-quote`](/engine-service/public-api/v1/docs/reference/quotes/ticket-quote-list) — List ticket quotes.
- [`GET /ticket-quote/{id}`](/engine-service/public-api/v1/docs/reference/quotes/ticket-quote-retrieve) — Get a ticket quote.
- [`PUT /ticket-quote/{id}`](/engine-service/public-api/v1/docs/reference/quotes/ticket-quote-update) — Update a ticket quote.

## Reels

- [`GET /reel-group`](/engine-service/public-api/v1/docs/reference/reels/reel-group-list) — List reel groups.
- [`PUT /reel-group`](/engine-service/public-api/v1/docs/reference/reels/reel-group-update) — Update a reel group.
- [`POST /reel-group`](/engine-service/public-api/v1/docs/reference/reels/reel-group-create) — Create a reel group.
- [`GET /reel-group/{id}`](/engine-service/public-api/v1/docs/reference/reels/reel-group-retrieve) — Get a reel group.
- [`GET /reel`](/engine-service/public-api/v1/docs/reference/reels/reel-list) — List reels.
- [`PUT /reel`](/engine-service/public-api/v1/docs/reference/reels/reel-update) — Update a reel.
- [`GET /inventory-product-location/{inventoryProductLocationId}/reel`](/engine-service/public-api/v1/docs/reference/reels/reel-list-by-location) — List the reels of a reel group.
- [`POST /inventory-product-location/{inventoryProductLocationId}/reel`](/engine-service/public-api/v1/docs/reference/reels/reel-create) — Create reels in a reel group.

## Report Metricss

- [`GET /report-metrics`](/engine-service/public-api/v1/docs/reference/report-metricss/report-metrics-retrieve) — Get a report metrics.

## Service jobs

- [`GET /service-job`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-list) — List service jobs.
- [`POST /service-job`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-create) — Create a service job.
- [`GET /service-job/{id}`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-retrieve) — Get a service job.
- [`PUT /service-job/{id}`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-update) — Update a service job.
- [`DELETE /service-job/{id}`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-remove) — Delete a service job.
- [`GET /service-job-production`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-production-list) — List service job productions.
- [`GET /service-job/{id}/production`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-production-retrieve) — Get a service job production.
- [`PUT /service-job/{id}/production/{ppsId}`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-production-update) — Update a service job production.
- [`POST /service-job/reassign-ticket-models`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-reassign-ticket-models) — Service job reassign ticket models.
- [`PUT /service-job/merge`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-merge) — Service job merge.
- [`PUT /service-job/{id}/timeline/start`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-timeline-start) — Service job timeline start.
- [`PUT /service-job/{id}/timeline/stop`](/engine-service/public-api/v1/docs/reference/service-jobs/service-job-timeline-stop) — Service job timeline stop.

## Services

- [`GET /service`](/engine-service/public-api/v1/docs/reference/services/service-list) — List post-processing services and their names.
- [`GET /service/{id}`](/engine-service/public-api/v1/docs/reference/services/service-retrieve) — Get a post-processing service and its name.

## Suppliers

- [`GET /supplier`](/engine-service/public-api/v1/docs/reference/suppliers/supplier-list) — List suppliers.
- [`GET /supplier/{id}`](/engine-service/public-api/v1/docs/reference/suppliers/supplier-retrieve) — Get a supplier.

## Technologies

- [`GET /technology`](/engine-service/public-api/v1/docs/reference/technologies/technology-list) — List technologys.
- [`GET /technology/{id}`](/engine-service/public-api/v1/docs/reference/technologies/technology-retrieve) — Get a technology.

## Tickets

- [`GET /ticket/lookup`](/engine-service/public-api/v1/docs/reference/tickets/ticket-retrieve) — Look up a ticket by any identifier.
- [`POST /ticket`](/engine-service/public-api/v1/docs/reference/tickets/ticket-create) — Create a ticket.
- [`PUT /ticket/{id}`](/engine-service/public-api/v1/docs/reference/tickets/ticket-update) — Update a ticket.
- [`PUT /ticket/{id}/send-to-production`](/engine-service/public-api/v1/docs/reference/tickets/ticket-send-to-production) — Send a ticket to production.
- [`POST /ticket/{ticketId}/quote`](/engine-service/public-api/v1/docs/reference/tickets/ticket-quote-create) — Create and send a quote.

## Users

- [`GET /user`](/engine-service/public-api/v1/docs/reference/users/user-list) — List users.
- [`GET /user/{id}`](/engine-service/public-api/v1/docs/reference/users/user-retrieve) — Get a user.
