v3.25.2
Revenue Recognition (Tables)
6 Months Ended
Jun. 30, 2025
Revenue from Contract with Customer [Abstract]  
Schedule of Disaggregation of Revenue
The following table disaggregates revenue by type (in thousands):
Three Months Ended June 30, 2025
PlatformProfessional
Services and
Other
Total
Timing of revenue recognition
Transferred over time$31,226 $1,578 $32,804 
Transferred at a point in time52,920 — 52,920 
Total revenue$84,146 $1,578 $85,724 

Three Months Ended June 30, 2024
PlatformProfessional
Services and
Other
Total
Timing of revenue recognition
Transferred over time$27,986 $904 $28,890 
Transferred at a point in time41,614 — 41,614 
Total revenue$69,600 $904 $70,504 
Six Months Ended June 30, 2025
PlatformProfessional
Services and
Other
Total
Timing of revenue recognition
Transferred over time$61,600 $3,027 $64,627 
Transferred at a point in time101,777 — 101,777 
Total revenue$163,377 $3,027 $166,404 
Six Months Ended June 30, 2024
PlatformProfessional
Services and
Other
Total
Timing of revenue recognition
Transferred over time$53,703 $1,650 $55,353 
Transferred at a point in time81,662 — 81,662 
Total revenue$135,365 $1,650 $137,015 
Schedule of Current and Non-current Deferred Contract Costs
The following table summarizes the activity of current and non-current deferred contract costs (in thousands):
Balance at December 31, 2024$11,256 
Capitalization of deferred contract costs2,709 
Amortization of deferred contract costs(3,281)
Balance at June 30, 2025$10,684