Resources
F-gas log
The F-gas log under regulation (EU) 2024/573 and the unit's status: CO2 equivalent, the leak check interval and when the next check is due. An entry takes the certificates of the company and of the person and cannot be changed afterwards, only corrected by a new entry. Adding entries needs Maci Service Premium on the unit.
The f gas entry model
Properties
-
idstring (uuid) -
unit_idstring (uuid) -
typestring -
performed_atstring (date) -
refrigerantstring, nullable -
quantity_kgnumber, nullable -
reasonstring, nullable -
gas_originstring, nullable -
origin_facility_namestring, nullable -
origin_facility_addressstring, nullable -
origin_certificate_nostring, nullable -
methodstring, nullable -
resultstring, nullable -
leak_locationstring, nullable -
descriptionstring, nullable -
disposalstring, nullable -
company_namestring, nullable -
company_cvrstring, nullable -
company_certificate_nostring, nullable -
person_namestring, nullable -
person_certificate_nostring, nullable -
corrects_entry_idstring (uuid), nullableThe entry this one corrects.
-
is_correctedbooleantruewhen a later entry has corrected this one. -
created_atstring (date-time)
The f gas status model
Properties
-
unit_idstring (uuid)The unit that holds the refrigerant.
-
refrigerantstring, nullable -
coveredbooleanWhether the unit is covered by leak checks.
-
co2e_tonnesnumber, nullable -
interval_monthsinteger, nullableMonths between leak checks.
-
last_leak_check_atstring (date), nullable -
next_leak_check_due_atstring (date), nullable -
follow_up_checkobject, nullableThe follow-up check after a repaired leak.
-
statestringWhere the unit stands towards the next check.
-
detection_system_missingbooleantruewhen a leak detection system is required but missing.
GET/units/{unit}/fgas-entries
List F-gas entries
Entries in the F-gas log.
The logbook is kept on the unit that holds the refrigerant. For a unit on a central system it is the logbook of that system.
Scope: fgas:read
Path parameters
-
unitstring (uuid) requiredThe ID of the unit.
Query parameters
-
limitintegerRecords per page. At most 100, default 50.
-
cursorstringThe value of
next_cursorfrom the page before.
Response
200 A page of entries. The fields are those of the f gas entry model.
curl https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-entries \
-H "Authorization: Bearer $MACI_API_KEY"
const response = await fetch('https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-entries', {
headers: {
Authorization: `Bearer ${process.env.MACI_API_KEY}`,
},
});
const data = await response.json();
import os
import requests
response = requests.get(
"https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-entries",
headers={"Authorization": f"Bearer {os.environ['MACI_API_KEY']}"},
)
data = response.json()
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-entries', [
'headers' => [
'Authorization' => 'Bearer '.getenv('MACI_API_KEY'),
],
]);
$data = json_decode($response->getBody(), true);
{
"data": [
{
"id": "e03018b5-1854-47dd-ac3b-1275002c8808",
"unit_id": "0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11",
"type": "rum-for-varmt",
"performed_at": "2026-10-30",
"refrigerant": "R449A",
"quantity_kg": 2.5,
"reason": "Reason",
"gas_origin": "Gas origin",
"origin_facility_name": "Example Recovery A/S",
"origin_facility_address": "Example Road 2, 8000 Aarhus",
"origin_certificate_no": "R-2207",
"method": "Method",
"result": null,
"leak_location": "Flare nut on the liquid line",
"description": "Labour",
"disposal": "Disposal",
"company_name": "Example Cooling ApS",
"company_cvr": "12345678",
"company_certificate_no": "K-4471",
"person_name": "Jonas L.",
"person_certificate_no": "P-1182",
"corrects_entry_id": null,
"is_corrected": false,
"created_at": "2026-10-30T09:15:00Z"
}
],
"next_cursor": null
}
POST/units/{unit}/fgas-entries
Create F-gas entry
New entry in the F-gas log.
Takes the certificates of the company and of the person. An entry cannot be changed afterwards. The unit has to have Premium.
Scope: fgas:write
Path parameters
-
unitstring (uuid) requiredThe ID of the unit.
Headers
-
Idempotency-KeystringA value of your own choosing, so that a repeated call does not create two records.
Body
-
typestring requiredOne of
installation,top_up,recovery,leak_check,leak_repair,detection_system_check,decommissioning -
performed_atstring (date) requiredThe date of the work.
-
company_namestring requiredThe company that did the work.
-
company_certificate_nostring requiredThe certificate number of the company.
-
person_namestring requiredThe person who did the work.
-
person_certificate_nostring requiredThe certificate number of the person.
-
company_cvrstring, nullable -
refrigerantstringThe designation of the refrigerant. Needed for
installationandtop_up. -
refrigerant_idstring (uuid)Can be used instead of
refrigerant. -
quantity_kgnumberThe quantity in kg. Needed for
installation,top_up,recoveryanddecommissioning. -
reasonstringNeeded for
top_up.One of
service,leakage -
gas_originstringNeeded for
top_up.One of
virgin,recycled,reclaimed -
origin_facility_namestringNeeded for recycled or reclaimed gas.
-
origin_facility_addressstringNeeded for recycled or reclaimed gas.
-
origin_certificate_nostringNeeded for recycled or reclaimed gas.
-
methodstringNeeded for
leak_check.One of
direct,indirect -
resultstringFor
leak_check:tightorleak_found. Forleak_repair:repairedornot_repaired. Fordetection_system_check:okorfault. -
leak_locationstringNeeded when a leak check finds a leak.
-
descriptionstringNeeded for
leak_repair. -
disposalstringWhat happened to the refrigerant. Needed for
decommissioning.
Response
201 The entry that was created. The fields are those of the f gas entry model.
curl -X POST https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-entries \
-H "Authorization: Bearer $MACI_API_KEY" \
-H "Idempotency-Key: a-value-of-your-own" \
-H "Content-Type: application/json" \
-d '{
"type": "installation",
"performed_at": "2026-10-30",
"company_name": "Example Cooling ApS",
"company_certificate_no": "K-4471",
"person_name": "Jonas L.",
"person_certificate_no": "P-1182",
"company_cvr": "12345678",
"refrigerant": "R449A",
"refrigerant_id": "2b7c4d1e-9f0a-4b3c-8d6e-5a4f3e2d1c0b",
"quantity_kg": 2.5,
"reason": "service",
"gas_origin": "virgin"
}'
const response = await fetch('https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-entries', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.MACI_API_KEY}`,
'Idempotency-Key': 'a-value-of-your-own',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"type": "installation",
"performed_at": "2026-10-30",
"company_name": "Example Cooling ApS",
"company_certificate_no": "K-4471",
"person_name": "Jonas L.",
"person_certificate_no": "P-1182",
"company_cvr": "12345678",
"refrigerant": "R449A",
"refrigerant_id": "2b7c4d1e-9f0a-4b3c-8d6e-5a4f3e2d1c0b",
"quantity_kg": 2.5,
"reason": "service",
"gas_origin": "virgin"
}),
});
const data = await response.json();
import os
import requests
response = requests.post(
"https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-entries",
headers={"Authorization": f"Bearer {os.environ['MACI_API_KEY']}", "Idempotency-Key": "a-value-of-your-own"},
json={
"type": "installation",
"performed_at": "2026-10-30",
"company_name": "Example Cooling ApS",
"company_certificate_no": "K-4471",
"person_name": "Jonas L.",
"person_certificate_no": "P-1182",
"company_cvr": "12345678",
"refrigerant": "R449A",
"refrigerant_id": "2b7c4d1e-9f0a-4b3c-8d6e-5a4f3e2d1c0b",
"quantity_kg": 2.5,
"reason": "service",
"gas_origin": "virgin"
},
)
data = response.json()
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-entries', [
'headers' => [
'Authorization' => 'Bearer '.getenv('MACI_API_KEY'),
'Idempotency-Key' => 'a-value-of-your-own',
],
'json' => [
'type' => 'installation',
'performed_at' => '2026-10-30',
'company_name' => 'Example Cooling ApS',
'company_certificate_no' => 'K-4471',
'person_name' => 'Jonas L.',
'person_certificate_no' => 'P-1182',
'company_cvr' => '12345678',
'refrigerant' => 'R449A',
'refrigerant_id' => '2b7c4d1e-9f0a-4b3c-8d6e-5a4f3e2d1c0b',
'quantity_kg' => 2.5,
'reason' => 'service',
'gas_origin' => 'virgin',
],
]);
$data = json_decode($response->getBody(), true);
{
"id": "e03018b5-1854-47dd-ac3b-1275002c8808",
"unit_id": "0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11",
"type": "rum-for-varmt",
"performed_at": "2026-10-30",
"refrigerant": "R449A",
"quantity_kg": 2.5,
"reason": "Reason",
"gas_origin": "Gas origin",
"origin_facility_name": "Example Recovery A/S",
"origin_facility_address": "Example Road 2, 8000 Aarhus",
"origin_certificate_no": "R-2207",
"method": "Method",
"result": null,
"leak_location": "Flare nut on the liquid line",
"description": "Labour",
"disposal": "Disposal",
"company_name": "Example Cooling ApS",
"company_cvr": "12345678",
"company_certificate_no": "K-4471",
"person_name": "Jonas L.",
"person_certificate_no": "P-1182",
"corrects_entry_id": null,
"is_corrected": false,
"created_at": "2026-10-30T09:15:00Z"
}
GET/units/{unit}/fgas-status
Get F-gas status
CO2 equivalent, check interval, latest and next leak check.
Scope: fgas:read
Path parameters
-
unitstring (uuid) requiredThe ID of the unit.
Response
200 Where the unit stands today. The fields are those of the f gas status model.
curl https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-status \
-H "Authorization: Bearer $MACI_API_KEY"
const response = await fetch('https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-status', {
headers: {
Authorization: `Bearer ${process.env.MACI_API_KEY}`,
},
});
const data = await response.json();
import os
import requests
response = requests.get(
"https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-status",
headers={"Authorization": f"Bearer {os.environ['MACI_API_KEY']}"},
)
data = response.json()
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.maci.energy/v1/units/0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11/fgas-status', [
'headers' => [
'Authorization' => 'Bearer '.getenv('MACI_API_KEY'),
],
]);
$data = json_decode($response->getBody(), true);
{
"unit_id": "0b6f4c1e-5a1d-4a57-9f0e-2f6f3f0c9a11",
"refrigerant": "R449A",
"covered": true,
"co2e_tonnes": 58.7,
"interval_months": 6,
"last_leak_check_at": "2026-10-30",
"next_leak_check_due_at": "2026-10-30",
"follow_up_check": null,
"state": "State",
"detection_system_missing": false
}