---
title: "Add or update loads for Coverage Guide Connect"
method: POST
path: "/coverage_guide/org/loads"
tags: ["CoverageGuideConnect"]
---

# Add or update loads for Coverage Guide Connect

`POST /coverage_guide/org/loads`

This endpoint allows permissioned users to send data programmatically to SONAR for Coverage Guide analysis. Data will be validated, enriched with market intelligence, and displayed in the Coverage Guide UI.

**IMPORTANT: Currently supports domestic USA lanes only.** All origin and destination locations must be within the United States. International lane support may be added in future releases.

For more information about getting access to this endpoint, please reach out to our Customer Success team (cs@gosonar.com).

This endpoint handles the following input fields:

*   load\_id: Unique identifier for the load, required
*   origin\_zip: Origin zip code (must be at least 3 characters), required
*   destination\_zip: Destination zip code (must be at least 3 characters), required
*   equipment\_type: Equipment type (VAN, REEFER, or FLATBED), required
*   segment: Segment identifier for grouping lanes, optional
*   consignee\_name: Consignee name, required
*   input\_miles: Distance in miles, optional
*   my\_rate: Customer's rate in dollars, optional
*   order\_tender\_datetime: When the order was tendered, required
*   scheduled\_pickup\_datetime: Scheduled pickup date/time, required
*   scheduled\_delivery\_datetime: Scheduled delivery date/time, required
*   cargo\_description: Description of cargo, optional
*   number\_of\_pickups: Number of pickup stops, optional
*   number\_of\_drops: Number of delivery stops, optional
*   number\_of\_stops: Total number of stops, optional
*   full\_partial: Full or partial truckload, optional
*   equipment\_detail: Detailed equipment specifications, optional
*   hazmat: Whether cargo is hazardous material, optional

The endpoint also accepts any additional custom fields you want to send - they will be stored for future use.

Here are the output fields returned in a successful call:

*   total\_loads: Total number of loads in request
*   successful\_loads: Number of loads successfully processed
*   failed\_loads: Number of loads that failed validation/processing
*   errors: List of errors for failed loads (if any)

## Headers

- `x-api-version` string

## Request body

- CoverageGuideConnectUpsertApiRequest
  - `loads` CoverageGuideConnectLaneApiRequest[] — List of loads to add or update
    - `load_id` string — Unique identifier for the load
    - `origin_zip` string — Origin postal code (at least 3 characters long)
    - `destination_zip` string — Destination postal code (at least 3 characters long)
    - `equipment_type` string — Equipment type (VAN, REEFER, or FLATBED)
    - `segment` string — Segment identifier for grouping loads
    - `consignee_name` string — Consignee name
    - `input_miles` integer — Distance in miles (user input)
    - `my_rate` number, double — Customer's rate in dollars
    - `order_tender_datetime` string — When the order was tendered
    - `scheduled_pickup_datetime` string — Scheduled pickup date/time
    - `scheduled_delivery_datetime` string — Scheduled delivery date/time
    - `cargo_description` string — Description of cargo
    - `number_of_pickups` integer — Number of pickup stops
    - `number_of_drops` integer — Number of delivery stops
    - `number_of_stops` integer — Total number of stops
    - `full_partial` string — Full or partial truckload
    - `equipment_detail` string — Detailed equipment specifications
    - `hazmat` boolean — Whether cargo is hazardous material

## Response `200`

OK

- CoverageGuideConnectUpsertApiResponse
  - `total_loads` integer — Total number of loads in request
  - `successful_loads` integer — Number of loads successfully processed
  - `failed_loads` integer — Number of loads that failed validation/processing
  - `errors` CoverageGuideConnectLaneErrorApi[] — List of errors for failed loads
    - `request_index` integer — 0-based index of the load in the request
    - `load_id` string — load_id from the request
    - `error_type` string — Type of error (validation, enrichment, etc.)
    - `message` string — Detailed error message

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error

---

[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)
