'Labelary API 'ERROR: HTTP 415 Unsupported Media Type' on valid ZPL

I am making a request to the Labelary API to convert my ZPL to a PDF. For starters this is my ZPL (with personal information edited out including scannable fields).

^XA
^LRN
^MNY
^MFN,N
^LH10,12
^MCY
^POI
^PW812
^CI27
^FO284,524^BY3^BCN,107,N,N,N,A^FV42099301^FS
^FO66,792^BY3^BCN,208,N,N,N,A^FV1Z7XV9460393438776^FS
^FO20,431^CVY^BD2^FH_^FD003840993010000[)>_1E01_1D961Z93438776_1DUPSN_1D7XV946_1E07J8Y)4RVW03%B1+&GM1L9TD8*A_1CBF3FUJ,E/)T."A 2_1CS_0D_1E_04^FS
^FO15,7^A0N,20,24^FVCOMPANY^FS
^FO15,27^A0N,20,24^FV5555555555^FS
^FO15,47^A0N,20,24^FVADDRESS^FS
^FO15,67^A0N,20,24^FVADDRESS ZIP^FS
^FO15,142^A0N,28,32^FVSHIP TO: ^FS
^FO61,166^A0N,28,32^FVCUSTOMER NAME^FS
^FO61,194^A0N,28,32^FVADDRESS^FS
^FO61,222^A0N,45,44^FVADDRESS ZIP^FS
^FO446,9^A0N,30,34^FV64 LBS^FS
^FO683,9^A0N,28,32^FV1 OF 1^FS
^FO508,51^A0N,22,26^FVAH^FS
^FO269,436^A0N,80,70^FVWA 993 0-02^FS
^FO10,1031^A0N,22,26^FVBILLING: P/P^FS
^FO10,1163^A0N,22,26^FVReference No.1: Package^FS
^FO175,1203^A0N,14,20^FVXOL 22.03.14          NV45 12.0A 03/2022*^FS
^FO9,670^A0N,56,58^FVUPS GROUND^FS
^FO9,731^A0N,26,30^FVTRACKING #: 1Z 7XV 946 03 9343 8776^FS
^FO170,853^A0N,142,110^FVSAMPLE^FS
^FO689,650^GB124,125,124,B,0^FS
^FO0,648^GB811,14,14,B,0^FS
^FO0,423^GB812,4,4,B,0^FS
^FO244,423^GB4,225,4,B,0^FS
^FO0,774^GB812,5,7,B,0^FS
^FO0,1013^GB812,14,14,B,0^FS
^FO629,1147
^GFA,00969,00969,019,FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000
F0000000000001F8000000000000F000000000
F0000000000001F8000000000000F000000000
F0000000003F81F83FC000000000F000000000
F0000000003F81F83FC000000000F000000000
F000000000FFF9F9FFF000000000F000000000
F000000000FFF9F9FFF000000000F000000000
F000000000FFFFFFFFFC00000000F000000000
F000000000FFFFFFFFFC00000000F000000000
F000000000F07FFFF0FC00000000F000000000
F000000000F07FFFF0FC00000000F000000000
F000000000FC1FFFC3F000000000F000000000
F000000000FC1FFFC3F000000000F000000000
F000000000FFFFFFFFF000000000F000000000
F000000000FFFF0FFFF000000000F000000000
F0000000003FFFFFFFC000000000F000000000
F0000000003FFFFFFFC000000000F000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000
F00000000001FFFFF00000000000F000000000
F00000000001FFFFF00000000000F000000000
F00000000003FFF9FC0000000000F000000000
F00000000003FFF9FC0000000000F000000000
F0000000003FE1F87FC000000000F000000000
F0000000003FE1F87FC000000000F000000000
F000000000FF81F83FF000000000F000000000
F000000000FF81F83FF000000000F000000000
F000000000FE01F803F000000000F000000000
F000000000FE01F803F000000000F000000000
F000000000F001F800F000000000F000000000
F000000000F001F800F000000000F000000000
F0000000000001F8000000000000F000000000
F0000000000001F8000000000000F0FFDC1C00
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF0FFDC1C00
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF00C1E3C00
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF00C1E3C00
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF00C1A2C00
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF00C1B6C00
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF00C1B6C00
0000000000000000000000000000000C1B6C00
0000000000000000000000000000000C19CC00
0000000000000000000000000000000C19CC00
0000000000000000000000000000000C19CC00
0000000000000000000000000000000C188C00
00000000000000000000000000000000000000
00000000000000000000000000000000000000
00000000000000000000000000000000000000
^XZ

This is my request to the API with my declarations etc.

//convert zpl to pdf
        var zplToPDFBuffer = fs.readFileSync(`${orderNumber}.zpl`);
        var zplToPDF = zplToPDFBuffer.toString().replace('^DN', '')
        console.log(zplToPDF)

        var Labelary = {
          method: 'POST',
          body: zplToPDF,
          headers: { 
            'Accept': 'application/pdf',
          }
        }

        const labelaryURL = `http://api.labelary.com/v1/printers/8dpmm/labels/4x6/0/`

        const pdfLabel = await fetch(labelaryURL, Labelary) //convert ZPL label to PDF
          .then(res => res.text())
          .then(res => {
            console.log('Sending ZPL to Labelary API for conversion...')
            var fileName = `${orderNumber}.pdf`
            console.log(res)
            fs.writeFileSync(fileName, res, (err) => {
              if (err) {
                console.log(err)
              }
            })
          })
          .catch(err => console.log(err))

I am receiving a response of status 415 with error of Unsupported Media Type. The label renders correctly on Labelary's online viewer. Does anyone have a clue why this is the case?

Edit1: Adding 'Content-type': 'application/x-www-form-urlencoded' elicits a response, but certainly not a pdf shipping label.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source