ACMEbuild API (1.0.0)

Download OpenAPI specification:

License: Apache-2.0

Production system of ACME analog Inc. (formerly ACMEprod). System of record for products, bills of materials (BOM) and production planning. Core capabilities:

  • holds the BOM per product (raw materials from ACMEsupply + labor and energy units/kWh),

  • forecasts the material demand (supply projection) from the open production contracts (ACMEcrm) and the available capacity (workers/shifts, from ACMEhr),

  • answers via the feasibility API whether a contract (products, quantities, delivery date) can be fulfilled — and if not, which resource is scarce (worker or material).

Roles (ACMEbase): WATCH reads, WORK writes operationally, ADMIN maintains master data (products/BOM). The role required per operation is given under x-required-role.

BOM

Products and their bills of materials.

All bills of materials

Authorizations:
bearerAuth

Responses

Response Schema: application/json
Array
productId
required
string
laborUnits
required
number

Labor units per piece.

energyUnits
required
number

Energy per piece (kWh).

required
Array of objects (BomLine)

Response samples

Content type
application/json
[
  • {
    • "productId": "string",
    • "laborUnits": 0,
    • "energyUnits": 0,
    • "lines": [
      ]
    }
]

Bill of materials of a product

Authorizations:
bearerAuth
path Parameters
id
required
string

Product ID.

Responses

Response Schema: application/json
productId
required
string
laborUnits
required
number

Labor units per piece.

energyUnits
required
number

Energy per piece (kWh).

required
Array of objects (BomLine)

Response samples

Content type
application/json
{
  • "productId": "string",
  • "laborUnits": 0,
  • "energyUnits": 0,
  • "lines": [
    • {
      }
    ]
}

Create/update bill of materials (master data)

Authorizations:
bearerAuth
path Parameters
id
required
string

Product ID.

Request Body schema: application/json
required
laborUnits
required
number
energyUnits
required
number
required
Array of objects (BomLine)

Responses

Response Schema: application/json
productId
required
string
laborUnits
required
number

Labor units per piece.

energyUnits
required
number

Energy per piece (kWh).

required
Array of objects (BomLine)

Request samples

Content type
application/json
{
  • "laborUnits": 0,
  • "energyUnits": 0,
  • "lines": [
    • {
      }
    ]
}

Response samples

Content type
application/json
{
  • "productId": "string",
  • "laborUnits": 0,
  • "energyUnits": 0,
  • "lines": [
    • {
      }
    ]
}

Planning

Production capacity and material demand projection.

Current production capacity

Planned daily capacity from factory/port workers (availability from ACMEhr) and the labor/port units per worker and day.

Authorizations:
bearerAuth

Responses

Response Schema: application/json
factoryWorkers
required
integer

Available factory workers (from ACMEhr).

laborUnitsPerWorkerDay
required
number

Labor units per worker and day.

factoryLaborUnitsPerDay
required
number

Total labor capacity/day (workers × units).

harborWorkers
required
integer

Available port workers (shipping).

harborUnitsPerWorkerDay
required
integer

Shipping units per port worker and day.

harborUnitsPerDay
required
integer

Total shipping capacity/day.

Response samples

Content type
application/json
{
  • "factoryWorkers": 0,
  • "laborUnitsPerWorkerDay": 0,
  • "factoryLaborUnitsPerDay": 0,
  • "harborWorkers": 0,
  • "harborUnitsPerWorkerDay": 0,
  • "harborUnitsPerDay": 0
}

Material demand projection

Aggregated material demand over the horizon, derived from the open production contracts (ACMEcrm) and the BOMs. Basis for procurement in ACMEsupply.

Authorizations:
bearerAuth
query Parameters
horizonDays
integer >= 1
Default: 30

Planning horizon in days.

Responses

Response Schema: application/json
horizonDays
required
integer
required
Array of objects (SupplyProjectionItem)

Response samples

Content type
application/json
{
  • "horizonDays": 0,
  • "materials": [
    • {
      }
    ]
}

Feasibility

Feasibility of a contract against capacity and material availability.

Can a contract be fulfilled?

Checks a contract specification (products, quantities, delivery date) against capacity and material availability. Non-mutating. Returns feasible and — if not — the scarce resources (worker or material) with the shortfall.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (FeasibilityItem) non-empty
dueDate
string <date>

Desired delivery date (leave open = earliest possible).

Responses

Response Schema: application/json
feasible
required
boolean
earliestDate
string <date>

Earliest possible delivery date at current capacity (if computable).

requiredLaborUnits
required
number

Total labor units required for the specification.

required
Array of objects (MaterialRequirement)
required
Array of objects (ScarceResource)

Scarce resources; empty when feasible=true.

Request samples

Content type
application/json
{
  • "items": [
    • {
      }
    ],
  • "dueDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "feasible": true,
  • "earliestDate": "2019-08-24",
  • "requiredLaborUnits": 0,
  • "requiredMaterials": [
    • {
      }
    ],
  • "scarce": [
    • {
      }
    ]
}