A Singapore Government Agency Website

Sample payloads for webhook events

Refer to the sample payloads below for the CFT webhook event notifications.

FileReceived

{
    “fileDetails”: {
      “createdAt”: “2023-11-27T06:32:49.427166266Z”,
      “fileID”: “01HFZW11DX1FYEXRY3979GJYR1”,
      “key”: “test.txt”
    },
    “sender”: {
      “applicationID”: “01HFZNW6A7JK238MJRN4FK62VH”,
      “zone”: “Internet”
    },
    “workflowID”: “01GTV3VYE8CGBSKYXQAVQBPK3A”,
    “workflowEvent”: “FileReceived”
}

Note: If the x-cft-do-not-overwrite flag is enabled, a new copy of the file is created under a file ID folder. The key value will include the file ID value and the filename. For example, “key”: “01HFZW11DX1FYEXRY3979GJYR1/test.txt”.

FileReadyForDownload

{
    “fileDetails”: {
      “createdAt”: “2023-11-27T06:24:53.285263063Z”,
      “fileID”: “01HFZW11DX1FYEXRY3979GJYR1”,
      “key”: “test.txt”,
      “receiverSHA256hash”: “098f6bcd4621d373cade4e832627b4f6”
    },
    “sender”: {
      “applicationID”: “01HFZNW6A7JK238MJRN4FK62VH”,
      “zone”: “Internet”
    },
    “workflowID”: “01GTV3VYE8CGBSKYXQAVQBPK3A”,
    “workflowEvent”: “FileReadyForDownload”
}

Note: If the x-cft-do-not-overwrite flag is enabled, a new copy of the file is created under a file ID folder. The key value will include the file ID value and the filename. For example, “key”: “01HFZW11DX1FYEXRY3979GJYR1/test.txt”.

FileReadyForDownload (after decryption)

Note: Whenever encryption or decryption is enabled, the receiverKey value included in the payload indicates the new filename.

{
    "fileDetails": {
      "createdAt": "2024-03-07T09:09:02.174918869Z",
      "fileID": "01HRC2RJ4AWA0Q1NVFQZ8SE17S",
      "key": "test-file.pdf.pgp",
      "receiverKey": "test-file.pdf",
      "receiverSHA256hash": "6c8e7ddd49f290868dea40654e47019158140d9580b8cc4fd4d7f6d6d26f233e"
    },
    "sender": {
      "applicationID": "01H7TEP0GWQSJS31T851ZYWMJD",
      "zone": "Internet"
    },
    "workflowID": "01H6VDGWCDWVCSPKJF4G296JJ5",
    "workflowEvent": "FileReadyForDownload"
}

Note: If the x-cft-do-not-overwrite flag is enabled, a new copy of the file is created under a file ID folder. The key value will include the file ID value and the filename. For example, “key”: “01HFZW11DX1FYEXRY3979GJYR1/test.txt”.

SanitisedFileReadyForDownload (after decryption)

Note: Whenever encryption or decryption is enabled, the receiverKey value included in the payload indicates the new filename.

{
    "fileDetails": {
        "createdAt": "2024-03-07T09:07:04.250998663Z",
        "fileID": "01HRC2MRXJA2VNYTA917Z1TAEW",
        "key": "test-file.pdf.pgp",
        "receiverKey": "test-file.pdf",
        "receiverSHA256hash": "64e25ef5505fb34ba0b0e7bd90777f706468538911f6f4cd24d310135049c143"
    },
    "sender": {
        "applicationID": "01H7TEP0GWQSJS31T851ZYWMJD",
        "zone": "Internet"
    },
    "workflowID": "01H6VDGWCDWVCSPKJF4G296JJ5",
    "workflowEvent": "SanitisedFileReadyForDownload"
}

Note: If the x-cft-do-not-overwrite flag is enabled, a new copy of the file is created under a file ID folder. The key value will include the file ID value and the filename. For example, “key”: “01HFZW11DX1FYEXRY3979GJYR1/test.txt”.

FileNotClean

 {
    “fileDetails”: {
      “createdAt”: “2023-11-23T05:48:19.922922477Z”,
      “fileID”: “01HFXBHKG2MSAQ3TB1816GSGJ3”,
      “key”: “test.txt”
    },
    “sender”: {
      “applicationID”: “01H6DJ1JWQZNN4XQV734GAGVXA”,
      “zone”: “Intranet”
    },
    “workflowID”: “01H6DJ575MJ3NH8M2M2X5G72E3",
    “workflowEvent”: “FileNotClean”
 }

FileDecryptFailure

PGP

 {
  “fileDetails”: {
    “createdAt”: “2023-11-23T04:36:50.454575401Z”,
    “fileID”: “01HFX7EQXS478FMCWN8D02GZTS”,
    “key”: “test.txt.pgp”
  },
  “sender”: {
    “applicationID”: “01H6DJ1JWQZNN4XQV734GAGVXA”,
    “zone”: “Intranet”
  },
  “workflowID”: “01H6DJ575MJ3NH8M2M2X5G72E3",
  “workflowEvent”: “FileDecryptFailure”,
  “decrypt”: {
    “error”: “gopenpgp: unable to decrypt message: gopenpgp: error in reading message: openpgp: incorrect key”,
    “keyID”: “01H8DG9N2S8W4KG9KAS710R1FY”,
    “keyType”: “PGP”,
    “status”: “failed”
  }
 }

SLIFT

 {
    “fileDetails”: {
      “createdAt”: “2023-11-15T06:58:09.08433597Z”,
      “fileID”: “01HF8WBP6G4G0J4M4BWJ3E1M19",
      “key”: “test.txt.p7"
    },
    “sender”: {
      “applicationID”: “01H65Z627QKPQ6HFSD03H7AEEN”,
      “zone”: “Internet”
    },
    “workflowID”: “01H65Z93ZMY4GTRDDK62WT2KEM”,
    “workflowEvent”: “FileDecryptFailure”,
    “decrypt”: {
      “error”: “error executing SLIFT decrypt: error waiting cmd: exit status 255; stderr: com.privylink.trustfield.TrustFieldException: certificate does not match any valid recipientntat com.privylink.trustfield.pkcs7.SignedAndEnvelopedDataReader.readAndExtractContentTo(SignedAndEnvelopedDataReader.java:332)ntat com.privylink.trustfield.sliftez.engine.SLIFTEzUnlockTask.unlockWithSingleThread(SLIFTEzUnlockTask.java:250)ntat com.privylink.trustfield.sliftez.classic.SLIFTEzClassicApp.doUnlockTask(SLIFTEzClassicApp.java:121)ntat SLIFTEzClassic._main(SLIFTEzClassic.java:57)ntat SLIFTEzClassic.main(SLIFTEzClassic.java:82)n”,
      “keyID”: “01HA3Q0A3J1NGAJN4M5BKZ60J0",
      “keyType”: “SLIFT”,
      “status”: “failed”
    }
 }

FileEncryptFailure

PGP

 {
    "fileDetails”: {
      “createdAt”: “2023-11-10T09:40:47.602511753Z”,
      “fileID”: “01HEW9NX4Y2RBTE8YE32WCQ3WE”,
      “key”: “test.txt.pgp”
    },
    “sender”: {
      “applicationID”: “01H6VDA2E0ATYJD9XT0821J0KT”,
      “zone”: “Internet”
    },
    “workflowID”: “01H8CC2BVSY9XHPA1YAGXD3A5T”,
    “workflowEvent”: “FileEncryptFailure”,
    “encrypt”: {
      “error”: “fail to encrypt message: gopenpgp: unable to parse public key: gopenpgp: error in reading key ring: openpgp: invalid argument: no armored data found”,
      “keyID”: “01H8CBD8R2YMCWKVGY7728MQFX”,
      “keyType”: “PGP”,
      “status”: “failed”
    }
 }

SLIFT

{
  “fileDetails”: {
    “createdAt”: “2023-10-17T09:16:49.861161301Z”,
    “fileID”: “01HCYDN5W53X8G5V7T5QJSCWW5",
    “key”: “test.txt.p7"
  },
  “sender”: {
    “applicationID”: “01H59EVTW15Q9D4TBV2DQQBSMS”,
    “zone”: “Internet”
  },
  “workflowID”: “01H6DJ575MJ3NH8M2M2X5G72E3",
  “workflowEvent”: “FileEncryptFailure”,
  “encrypt”: {
    “error”: “error executing SLIFT encrypt: error waiting cmd: exit status 255; stderr: com.privylink.trustfield.TrustFieldException: Unable to write SignedAndEnvelopedData to output stream: Encode failed: E0128S: Unexpected exception: java.io.IOException: No space left on devicentat com.privylink.trustfield.pkcs7.SignedAndEnvelopedDataWriter.writeEncodedTo(SignedAndEnvelopedDataWriter.java:434)ntat com.privylink.trustfield.pkcs7.SignedAndEnvelopedDataWriter.writeEncodedTo(SignedAndEnvelopedDataWriter.java:463)ntat com.privylink.trustfield.sliftez.engine.SLIFTEzLockTask.lockWithSingleThread(SLIFTEzLockTask.java:397)ntat com.privylink.trustfield.sliftez.classic.SLIFTEzClassicApp.doLockTask(SLIFTEzClassicApp.java:64)ntat SLIFTEzClassic._main(SLIFTEzClassic.java:55)ntat SLIFTEzClassic.main(SLIFTEzClassic.java:82)n”,
    “keyID”: “01HANJ989XTX94V28P69JJN1XQ”,
    “keyType”: “SLIFT”,
    “status”: “failed”
  }
}

FileBypassFailed

  {
    "fileDetails": {
        "createdAt": "2025-03-28T03:15:34.371724735Z",
        "fileID": "01JQDBYT470ZKXEYQT5Q1JZTPT",
        "key": "demo_file.txt"
    },
    "sender": {
        "applicationID": "01H6VDA2E0ATYJD9XT0821J0KT",
        "zone": "Internet"
    },
    "workflowID": "01JPHHMBNFENYA1PKTHRXA7MWJ",
    "workflowEvent": "FileBypassFailed"
}

FileSignatureVerificationFailure

{
  "fileDetails": {
    "createdAt": "2026-02-07T19:53:08.790386485Z",
    "fileID": "01KGWTMJE439BAECBDAT38ZRPJ",
    "key": "test.txt.pgp"
  },
  "sender": {
    "applicationID": "01H7TEP0GWQSJS31T851ZYWMJD",
    "zone": "Internet"
  },
  "workflowID": "01H6DJ575MJ3NH8M2M2X5G72E3",
  "workflowEvent": "FileSignatureVerificationFailure",
  "signatureVerification": {
    "error": "signature verification failed: Signature Verification Error: No matching signature",
    "keyID": "01KGWT0X5HF2PVQQEKRBNMSRYX",
    "keyType": "PGP",
    "status": "failed"
  }
}

FileSigningFailure

{
  "fileDetails": {
    "createdAt": "2026-02-07T19:53:08.790386485Z",
    "fileID": "01KGWTMJE439BAECBDAT38ZRPJ",
    "key": "test.txt.pgp"
  },
  "sender": {
    "applicationID": "01H7TEP0GWQSJS31T851ZYWMJD",
    "zone": "Internet"
  },
  "workflowID": "01H6DJ575MJ3NH8M2M2X5G72E3",
  "workflowEvent": "FileSigningFailure",
  "signatureSigning": {
    "error": "error signing file:",
    "keyID": "01KGWT0X5HF2PVQQEKRBNMSRYX",
    "keyType": "PGP",
    "status": "failed"
  }
}
Chat with me!
Bot Launcher