Home /  EDI Core / 

Sending compressed payloads

To send a gzip compressed payload to the EDI Core API, set the Content-Type header to the value of application/gzip. EDI Core only supports gzip compression.

Note that the maximum document size limit is applied after decompressing the content of the payload. If the decompressed payload of a given request is larger than the maximum document size limit, the EDI Core API will reject the request.

The following TypeScript example shows how to send a gzip compressed payload to the /translate endpoint.

import * as fs from 'fs';
import axios from 'axios';
import { gzipSync } from 'zlib';

const rootURL = 'https://edi-core.stedi.com/2021-06-05/translate';
const headers = {
  'Authorization': `Key ${API_KEY}`,
  'content-type': 'application/gzip',
  'accept-encoding': 'gzip',
const edi = fs.readFileSync(process.argv[2], 'utf-8');

async function makeRequest(): Promise<void> {
  const request = {
    input: edi,
    input_format: 'edi',
    output_format: 'jedi@2.0',

  const response = await axios.request({
    method: 'post',
    url: url,
    data: gzipSync(JSON.stringify(request)),
    headers: headers,

async function main() {
  try {
    await makeRequest();
  } catch (e) {