XML 55 R40.htm IDEA: XBRL DOCUMENT v3.26.1
Revenue Recognition - Schedule of Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Disaggregation of Revenue [Line Items]        
Revenue $ 133,410 $ 112,404 $ 257,383 $ 216,263
Point in time        
Disaggregation of Revenue [Line Items]        
Revenue 40,291 30,970 75,765 56,976
Over time        
Disaggregation of Revenue [Line Items]        
Revenue 93,119 81,434 181,618 159,287
Subscription service        
Disaggregation of Revenue [Line Items]        
Revenue 83,391 71,903 161,913 140,313
Subscription service | Point in time        
Disaggregation of Revenue [Line Items]        
Revenue 0 0 0 0
Subscription service | Over time        
Disaggregation of Revenue [Line Items]        
Revenue 83,391 71,903 161,913 140,313
Hardware        
Disaggregation of Revenue [Line Items]        
Revenue 35,086 26,864 64,340 48,707
Hardware | Point in time        
Disaggregation of Revenue [Line Items]        
Revenue 35,086 26,864 64,340 48,707
Hardware | Over time        
Disaggregation of Revenue [Line Items]        
Revenue 0 0 0 0
Professional service        
Disaggregation of Revenue [Line Items]        
Revenue 14,933 13,637 31,130 27,243
Professional service | Point in time        
Disaggregation of Revenue [Line Items]        
Revenue 5,205 4,106 11,425 8,269
Professional service | Over time        
Disaggregation of Revenue [Line Items]        
Revenue $ 9,728 $ 9,531 $ 19,705 $ 18,974