// Node.js 20+ server-side JavaScript. Never expose the bearer credential in a browser. const base = process.env.PETROSUPPORT_BASE_URL.replace(/\/$/, ''); const body = '{"title":"Fleet roadside incident","priority":"high","requested_by":"11111111-1111-4111-a111-111111111111","latitude":-1.292100000000000026290081223123706877231597900390625,"longitude":36.821899999999999408828443847596645355224609375,"services":["recovery"],"external_reference":"FLEET-INC-001"}'; const response = await fetch(`${base}/incidents`, { method: 'POST', redirect: 'error', signal: AbortSignal.timeout(20000), headers: { Authorization: `Bearer ${process.env.PETROSUPPORT_TOKEN}`, 'Content-Type': 'application/json', 'Idempotency-Key': process.env.PETROSUPPORT_IDEMPOTENCY_KEY }, body }); const result = await response.json(); if (!response.ok) throw new Error(`HTTP ${response.status}: ${JSON.stringify(result)}`); console.log(result);