Square POS does not forward order generated in API to KDS


Any other orders, including using the square online order system when they post to the POS they are automatically sent over to my freshKDS and printed automatically.

However, when I generate an order using the API and send the payment command; the orders go into the new order section in the POS and do not print unless manually printed to the KDS.

Here is my request that I am making;

try {
  const response = await client.ordersApi.createOrder({
order: {
  locationId: 'REDACTED',
  referenceId: '35gga1',
  source: {
    name: 'Test Order'
  customerId: 'P2FGCDH0EGT4S32EQAKKB8WVE0',
  lineItems: [
      uid: '234errfd3asz3',
      name: 'Mocha Frappe',
      quantity: '1',
      note: 'Nothing',
      basePriceMoney: {
        amount: 500,
        currency: 'USD'
  discounts: [
      uid: '78910331245d1',
      name: 'TEST',
      amountMoney: {
        amount: 500,
        currency: 'USD'
  fulfillments: [
      uid: 'oiunbgfjd13nduyi45ofh89ai',
      type: 'PICKUP',
      state: 'PROPOSED',
      pickupDetails: {
        recipient: {
          customerId: 'Redacted'
        expiresAt: '2021-05-08T18:36:34-05:00',
        scheduleType: 'ASAP',
        pickupAt: '2021-05-08T18:35:34-05:00',
        pickupWindowDuration: 'P10M',
        prepTimeDuration: 'P5M',
        isCurbsidePickup: false
  state: 'OPEN'
idempotencyKey: 'redacted'

} catch(error) {

I removed some data and replaced it with “redacted”.

I always set the time to be full-filled about twenty minutes in advance, however, I can’t think of any reasons why this would cause the POS not to push the order to the printer automatically.

Any suggestions are appreciated.

Hi @archlinuxusa welcome to the forums!

I’m not very familiar with Fresh KDS, so you may need to ping them instead as they created their own integration. From a Square point of view, in the Square POS, you should just need to enable "Settings → “Orders” → “Print Orders” → “Automatically print new orders” and that’s it.