v3.26.1
Stock-based compensation - Schedule of Stock Option Activity (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
6 Months Ended 12 Months Ended
Jul. 31, 2026
Jan. 31, 2026
Number of options    
Outstanding, beginning balance (in shares) 133  
Exercised (in shares) (23)  
Outstanding, ending balance (in shares) 110 133
Vested and expected to vest (in shares) 110  
Exercisable (in shares) 110  
Range of exercise prices    
Beginning balance, minimum (in usd per share) $ 24.36  
Beginning balance, maximum (in usd per share) 73.61  
Exercised, minimum (in usd per share) 24.36  
Exercised, maximum (in usd per share) 47.21  
Ending balance, minimum (in usd per share) 30.57 $ 24.36
Ending balance, maximum (in usd per share) 73.61 73.61
Weighted- average exercise price    
Opening balance (in usd per share) 47.50  
Exercised (in usd per share) 30.62  
Ending balance (in usd per share) 51.10 $ 47.50
Vested and expected to vest, weighted-average exercise price (in usd per share) 51.10  
Exercisable, weighted-average exercise price (in usd per share) $ 51.10  
Outstanding stock options, weighted-average contractual term (in years) 1 year 3 months 18 days 1 year 7 months 6 days
Vested and expected to vest, weighted-average contractual term (in years) 1 year 3 months 18 days  
Exercisable, weighted-average contractual term (in years) 1 year 3 months 18 days  
Aggregate intrinsic value $ 5,432 $ 5,081
Vested and expected to vest, aggregate intrinsic value 5,432  
Exercisable, aggregate intrinsic value $ 5,432