How Can I Connect My Custom KDS Web App as Hardware Like Fresh KDS?

I’m currently working on a custom KDS (Kitchen Display System) for a coffee business, and I’ve built a basic prototype that receives orders from webhook events as a web app. Before I continue development, I wanted to ask:

Is it possible to integrate my custom KDS in a way that it appears as a hardware device under Square’s settings - similar to how Fresh KDS shows up?

Specifically, I’m wondering:

  • How Fresh KDS (or similar systems) are able to register as a recognized KDS device in Square’s system.
  • How the Reprint Ticket button on Square’s Register resends the order to the Fresh KDS screen.
  • If there’s any existing documentation or process for this kind of integration.

Any insight, pointers to documentation, or guidance on this would be greatly appreciated.

Thanks,
Corey

:waving_hand: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

Additional Documentation

App Marketplace Frequently Asked Questions
Square Developer Documentation
Publish your App to the App Marketplace

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

I’m specifically looking for details on how Fresh KDS (or similar third-party systems) register as recognized printer hardware within Square, so they appear in the hardware list and have the option to reprint a ticket.

Right now, my custom KDS web app only uses webhook events (order.created) to get orders, which works, but I’d like to know if there’s an official or supported method to create a custom device/app as a printer endpoint in Square’s system.

Could someone point me to the exact API, SDK, or process that enables this?

If I remember correctly Fresh KDS read like a printer would. They don’t actually get the data from APIs. Unfortunately we don’t have any documentation about this implementation. I’d recommend reaching out to Fresh KDS about the integration. :slightly_smiling_face: