API reference

Compliance and assets

Licences, assets, checklists, temperature logs, maintenance contracts and jobs.

get

/v1/compliance/licences

Licences (active by default), tenant-wide and in the caller's outlets

operationId listLicences

Auth

Member token+Tenant header

Parameters

  • outletin querystring (uuid)optional
  • statusin queryenum (3)optional
    activesupersededlapsed

Response 200

V1ComplianceLicencescontract v1.compliance.licences
  • itemsarray of objectrequired
    • idUuid7required
    • outlet_idUuid7 | nullrequired
    • kindstringrequired
      max length 60pattern ^[a-z][a-z0-9_]*$
    • numberstringrequired
      min length 1max length 200
    • issuerstring | nullrequired
      min length 1max length 200
    • valid_fromstring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • valid_tostring (date) | nullrequired
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • document_idUuid7 | nullrequired
    • statusenum (3)required
      activesupersededlapsed

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/compliance/licences

compliance.licence.upsert.v1 — record or renew a licence

operationId upsertLicence

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "compliance.licence.upsert.v1"required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/compliance/licences/expiring

Active licences expiring within N days of as_of (outlet-local date)

operationId listExpiringLicences

Auth

Member token+Tenant header

Parameters

  • within_daysin queryintegeroptional
  • as_ofin querystring (date-time)optional
  • outletin querystring (uuid)optional

Response 200

V1ComplianceLicencesExpiringcontract v1.compliance.licences-expiring
  • itemsarray of objectrequired
    • idUuid7required
    • outlet_idUuid7 | nullrequired
    • kindstringrequired
      max length 60pattern ^[a-z][a-z0-9_]*$
    • numberstringrequired
      min length 1max length 200
    • valid_tostring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • document_idUuid7 | nullrequired
    • days_leftintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • expiredbooleanrequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/compliance/assets

Assets in the caller's outlets

operationId listAssets

Auth

Member token+Tenant header

Parameters

  • outletin querystring (uuid)optional

Response 200

V1ComplianceAssetscontract v1.compliance.assets
  • itemsarray of objectrequired
    • idUuid7required
    • outlet_idUuid7required
    • kindenum (10)required
      chillerfreezerhot_holdingovenfryerdishwasherair_conditionergeneratorwater_purifierother
    • namestringrequired
      min length 1max length 200
    • make_modelstring | nullrequired
      min length 1max length 200
    • serial_nostring | nullrequired
      min length 1max length 200
    • safe_min_milli_cinteger | nullrequired
      ≥ -60000≤ 300000
    • safe_max_milli_cinteger | nullrequired
      ≥ -60000≤ 300000
    • installed_onstring (date) | nullrequired
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • activebooleanrequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/compliance/assets

compliance.asset.upsert.v1 — add or change an asset

operationId upsertAsset

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "compliance.asset.upsert.v1"required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/compliance/checklists

Checklists

operationId listChecklists

Auth

Member token+Tenant header

Parameters

  • outletin querystring (uuid)optional

Response 200

V1ComplianceChecklistscontract v1.compliance.checklists
  • itemsarray of objectrequired
    • idUuid7required
    • outlet_idUuid7 | nullrequired
    • name_keystringrequired
      pattern ^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
    • kindenum (5)required
      openingclosinghygienecleaningother
    • frequencyenum (3)required
      dailyweeklymonthly
    • due_timestringrequired
      pattern ^[0-9]{2}:[0-9]{2}(:[0-9]{2})?$
    • itemsarray of stringrequired
    • activebooleanrequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/compliance/checklists

compliance.checklist.upsert.v1 — add or change a checklist

operationId upsertChecklist

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "compliance.checklist.upsert.v1"required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/compliance/checklist-runs

Completed checklist runs, newest first

operationId listChecklistRuns

Auth

Member token+Tenant header

Parameters

  • outletin querystring (uuid)optional
  • checklistin querystring (uuid)optional
  • fromin querystring (date)optional
  • toin querystring (date)optional
  • limitin queryintegeroptional

Response 200

V1ComplianceChecklistRunscontract v1.compliance.checklist-runs
  • itemsarray of objectrequired
    • idUuid7required
    • checklist_idUuid7required
    • outlet_idUuid7required
    • business_datestring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • resultsmap of booleanrequired
    • completed_byUuid7required
    • completed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/compliance/checklist-runs

compliance.checklist.complete.v1 — complete a checklist for a business date

operationId completeChecklist

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "compliance.checklist.complete.v1"required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/compliance/temp-logs

Temperature readings with the asset's own range applied

operationId listTempLogs

Auth

Member token+Tenant header

Parameters

  • outletin querystring (uuid)optional
  • assetin querystring (uuid)optional
  • fromin querystring (date)optional
  • toin querystring (date)optional
  • limitin queryintegeroptional

Response 200

V1ComplianceTempLogscontract v1.compliance.temp-logs
  • itemsarray of objectrequired
    • idUuid7required
    • outlet_idUuid7required
    • asset_idUuid7required
    • reading_milli_cintegerrequired
      ≥ -60000≤ 300000
    • read_atIsoDatetimerequired
    • recorded_byUuid7required
    • notestring | nullrequired
    • local_datestring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • out_of_rangeboolean | nullrequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/compliance/temp-logs

compliance.temp.record.v1 — record a temperature reading (evidence, not a certificate)

operationId recordTemp

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "compliance.temp.record.v1"required
  • payloadComplianceTempRecordV1required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/compliance/amcs

Annual maintenance contracts

operationId listAmcs

Auth

Member token+Tenant header

Parameters

  • assetin querystring (uuid)optional

Response 200

V1ComplianceAmcscontract v1.compliance.amcs
  • itemsarray of objectrequired
    • idUuid7required
    • asset_idUuid7required
    • vendorstringrequired
      min length 1max length 200
    • valid_fromstring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • valid_tostring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • cost_minorintegerrequired
      ≥ 0≤ 9007199254740991
    • currencystringrequired
      pattern ^[A-Z]{3}$
    • document_idUuid7 | nullrequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/compliance/amcs

compliance.amc.record.v1 — record an AMC

operationId recordAmc

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "compliance.amc.record.v1"required
  • payloadComplianceAmcRecordV1required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/compliance/maintenance

Maintenance rows

operationId listMaintenance

Auth

Member token+Tenant header

Parameters

  • assetin querystring (uuid)optional
  • statusin queryenum (3)optional
    scheduleddonecancelled

Response 200

V1ComplianceMaintenancecontract v1.compliance.maintenance
  • itemsarray of objectrequired
    • idUuid7required
    • asset_idUuid7required
    • kindenum (3)required
      preventivebreakdowninspection
    • statusenum (3)required
      scheduleddonecancelled
    • due_onstring (date) | nullrequired
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • done_onstring (date) | nullrequired
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • estimated_cost_minorinteger | nullrequired
      ≥ 0≤ 9007199254740991
    • cost_minorinteger | nullrequired
      ≥ 0≤ 9007199254740991
    • currencystring | nullrequired
      pattern ^[A-Z]{3}$
    • vendorstring | nullrequired
    • amc_idUuid7 | nullrequired
    • notestring | nullrequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/compliance/maintenance

compliance.maintenance.schedule.v1 — schedule maintenance (intel may draft it)

operationId scheduleMaintenance

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "compliance.maintenance.schedule.v1"required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/compliance/maintenance/record

compliance.maintenance.record.v1 — record maintenance done

operationId recordMaintenance

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "compliance.maintenance.record.v1"required

Response 200

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.