get($base.'/monitors')->throw()->json('monitors', [])) ->first(fn ($monitor) => ($monitor['url'] ?? null) === $url); if ($existing !== null) { return (string) $existing['id']; } return (string) Http::withToken($token) ->post($base.'/monitors', ['friendly_name' => $name, 'url' => $url, 'type' => 'https']) ->throw()->json('monitor.id'); } public function deregisterTarget(string $externalId): void { $endpoint = (string) config('services.monitoring.url'); if (filled($endpoint)) { Http::withToken((string) config('services.monitoring.token')) ->delete(rtrim($endpoint, '/').'/monitors/'.$externalId)->throw(); } } }