---
title: "Ingests multiple shipment records in JSON format."
method: POST
path: "/ingest/trac/json"
tags: ["TRACIngest"]
---

# Ingests multiple shipment records in JSON format.

`POST /ingest/trac/json`

Required fields: shipment_id, shipper_id, origin_city, origin_state, origin_zipcode,
origin_country, destination_city, destination_state, destination_zipcode, destination_country,
order_tender_datetime, order_covered_datetime, miles, mode, full_partial, equipment_type,
carrier_total_rate. All other fields are optional and accept null or omission.
            
Example JSON:
```
[{
  "shipment_id": "string",
  "transaction_id": "string",
  "shipper_id": "string",
  "shipper_name": "string",
  "shipper_naics_code": "string",
  "shipper_sic_code": "string",
  "cargo_description": "string",
  "origin_address": "string",
  "origin_city": "string",
  "origin_state": "string",
  "origin_zipcode": "string",
  "origin_country": "string",
  "destination_address": "string",
  "destination_city": "string",
  "destination_state": "string",
  "destination_zipcode": "string",
  "destination_country": "string",
  "order_tender_datetime": "2023-12-20T20:25:43.515Z",
  "order_covered_datetime": "2023-12-20T20:25:43.515Z",
  "scheduled_pickup_datetime": "2023-12-20T20:25:43.515Z",
  "actual_pickup_datetime": "2023-12-20T20:25:43.515Z",
  "scheduled_delivery_datetime": "2023-12-20T20:25:43.515Z",
  "actual_delivery_datetime": "2023-12-20T20:25:43.515Z",
  "carrier_id": "string",
  "carrier_name": "string",
  "carrier_asset_size": "string",
  "dot_number": "string",
  "mc_number": "string",
  "scac_code": "string",
  "load_number": "string",
  "miles": 0,
  "mode": "string",
  "full_partial": "string",
  "equipment_type": "string",
  "equipment_detail": "string",
  "dimensions": "string",
  "currency": "string",
  "carrier_total_rate": 0,
  "carrier_linehaul_rate": 0,
  "fuel_surcharge_paid_to_carrier": 0,
  "other_accessorial_paid_to_carrier": 0,
  "load_unload_paid_to_carrier": 0,
  "stop_charges_paid_to_carrier": 0,
  "driver_assist_charges_paid_to_carrier": 0,
  "hazmat_charge_paid_to_carrier": 0,
  "other_accessorial_description_carrier": "string",
  "shipper_total_rate": 0,
  "shipper_linehaul_rate": 0,
  "fuel_surcharge_paid_by_shipper": 0,
  "other_accessorial_paid_by_shipper": 0,
  "load_unload_paid_by_shipper": 0,
  "stop_charges_paid_by_shipper": 0,
  "driver_assist_charges_paid_by_shipper": 0,
  "hazmat_charge_paid_by_shipper": 0,
  "other_accessorial_description_shipper": "string",
  "spot_contract": "string",
  "payment_terms": "string",
  "consignee_id": "string",
  "consignee_name": "string",
  "nmfc_code": "string",
  "cargo_insurance_coverage": "string",
  "cargo_insurance_coverage_currency": "string",
  "declared_value": 0,
  "straps_chains": "string",
  "oversized": true,
  "temperature_control": true,
  "frozen": true,
  "temperature": "string",
  "hazmat": true,
  "permits": "string",
  "tarp_required": true,
  "tarp_size": "string",
  "team_express": true,
  "drop_hook": true,
  "expedited": true,
  "specialized": true,
  "number_of_pickups": 0,
  "number_of_drops": 0,
  "number_of_stops": 0,
  "weight": 0
}]
```

## Headers

- `x-api-version` string

## Request body

- unknown

## Response `200`

OK

- ProcessingResult
  - `success` boolean
  - `errors` FileError[]
    - `row_num` integer
    - `humanReadableError` string
    - `error` string
    - `description` string
    - `attributes` string[]
  - `validRecordCount` integer
  - `invalidRecordCount` integer

## Other responses

- `400` — Bad Request
- `422` — Unprocessable Content

---

[API](https://skmtc.net/freightwaves/apis/sonar-api.md) · [All operations](https://skmtc.net/freightwaves/apis/sonar-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/freightwaves/sonar-api/revisions/3a995f316cda/schema)
