CapaMatch API

Send spare machine capacity automatically from your planning or ERP system.

Create an API key in your account

How to connect a planning system

Create each machine once and put the identifier from your system into external_id. After that your system only sends the free time window: from when to when, and how many hours per week. An ended listing becomes visible again when it gets a new time window.

Authentication

Create an API key in your account and send it with every request in the Authorization header. All requests use HTTPS and return JSON.

Authorization: Bearer cm_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Endpoints

GEThttps://capamatch.com/api/v1/machinesRead all your machines
POSThttps://capamatch.com/api/v1/machinesCreate a machine; with a known external_id the listing is updated
GEThttps://capamatch.com/api/v1/machines/{id}Read one machine
PATCHhttps://capamatch.com/api/v1/machines/{id}Change individual fields
PUThttps://capamatch.com/api/v1/machines/{id}/availabilitySet only the free time window
DELETEhttps://capamatch.com/api/v1/machines/{id}End the listing

Instead of the number you can use ext: followed by your own identifier, for example /machines/ext:LATHE-07.

Fields

FieldTypeRequiredNote
external_idstring≤ 80
processstring✓turning, swiss, milling, milling5, grinding, edm, laser, punching, bending, deepdraw, waterjet, welding, injection, thermoform, printing3d
brandstring✓≤ 60
modelstring✓≤ 60
yearinteger1950–2027
diameter_min, diameter_maxnumber✓mm
length_min, length_maxnumber✓mm
tolerance_min, tolerance_maxnumber✓± mm
thickness_maxnumber(✓)mm – required for laser, punching, bending, waterjet, welding
press_forcenumber(✓)t – required for deepdraw
clamping_forcenumber(✓)t – required for injection
draw_depthnumber(✓)mm – required for thermoform
build_heightnumber(✓)mm – required for printing3d
materialsarraysteel, stainless, aluminium, titanium, brass, copper, nickel, plastics, abs, pa, pc, pp, pe, pom, peek, ps, pet
part_typesarray≤ 12 × 40
certificatesarrayISO 9001, EN 9100, IATF 16949, ISO 13485
descriptionstring≤ 800
free_from, free_todate✓YYYY-MM-DD
hours_per_weekinteger1–168
countrystring✓ISO 3166-1 alpha-2: AT, BE, BG, BR, CA, CH, CN, CZ, DE, DK, ES, FI, FR, GB, HR, HU, IE, IN, IT, JP, KR, MX, NL, NO, PL, PT, RO, RS, SE, SI, SK, TH, TR, TW, US, VN
regionstring✓≤ 80
companystring✓≤ 120

Examples

Create a machine

curl -X POST https://capamatch.com/api/v1/machines \
  -H "Authorization: Bearer $CAPAMATCH_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "LATHE-07",
    "process": "turning",
    "brand": "Index",
    "model": "G200",
    "diameter_min": 5, "diameter_max": 65,
    "length_min": 10, "length_max": 400,
    "tolerance_min": 0.005, "tolerance_max": 0.05,
    "materials": ["steel", "stainless"],
    "certificates": ["ISO 9001"],
    "free_from": "2026-10-07", "free_to": "2026-10-28",
    "hours_per_week": 40,
    "country": "DE", "region": "Stuttgart",
    "company": "Example GmbH"
  }'

Update the time window

curl -X PUT https://capamatch.com/api/v1/machines/ext:LATHE-07/availability \
  -H "Authorization: Bearer $CAPAMATCH_KEY" \
  -H "Content-Type: application/json" \
  -d '{"free_from": "2026-10-07", "free_to": "2026-10-28", "hours_per_week": 60}'

Limits

120 requests per minute and 300 active machines per account. The free time window may end at most one year ahead.

Without programming

Shops without an interface upload their machines as an Excel or CSV file in their account.

OpenAPI description (JSON)

Is one of your machines idle next week?

List it before the week stays empty.

List a machine