---
title: Mark Shipment Delivered
slug: fourkites-api-reference/mark-shipment-delivered
description: Learn how to use the API to mark delivered loads in the shipper's system and halt FourKites tracking. This document includes a code example, expected response, and necessary headers for a successful API call.
icon: {"apiMethod":"POST"}
createdAt: 2023-04-14T05:45:22.000Z
---

Allows authorized users to mark loads as delivered. This API should be called when a load is marked as delivered in shipper's system so that FourKites stops to track the asset. Loads are updated asynchronously. An HTTP 200 response simply indicates the request was valid and submitted loads will be marked as delivered soon.

:::hint{type="info"}
### Rate Limit

**1 request per second**
:::

:::hint{type="info"}
### Format Supported

**JSON**
:::

:::hint{type="info"}
### Authentication

**Basic Authentication&#x20;**(Admin username & password)
:::

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://tracking-api.fourkites.com/api/v1/tracking/deliver_loads",
  "name": "Production",
  "method": "POST",
  "request": {
    "pathParameters": [],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [
      {
        "name": "trackingIds",
        "kind": "required",
        "type": "string",
        "description": "Unique load identifiers from FourKites system if the load was successfully created ",
        "": "Unique load identifiers from FourKites system if the load was successfully created "
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "qUCDvgNRDoYtiGSDnCFId",
        "code": "{\n  \"statusCode\": 200,\n  \"message\": \"Tracking records marked as delivered\"\n}",
        "language": "200",
        "customLabel": ""
      },
      {
        "id": "ClPKJNmUrWcSiDUrtI9vg",
        "language": "403",
        "code": "{\n    \"statusCode\": 403,\n    \"error\": \"Invalid Session, please login\",\n    \"requestId\": \"523ab3a6-6134-4d0e-9bcc-0cd0bb907b08\"\n}",
        "customLabel": ""
      },
      {
        "id": "ZHAfFNargEJ3Pl4Btc0xT",
        "language": "500",
        "code": "\n{\n    \"message\": \"An Internal Error Has Occurred\",\n    \"statusCode\": 500\n}",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "qUCDvgNRDoYtiGSDnCFId"
  },
  "examples": {
    "languages": [
      {
        "id": "ch9UxnysIYE86-miXklDZ",
        "code": "{\n    \"trackingIds\": [\n        1234,\n        1235,\n        1236\n    ]\n}",
        "language": "json",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "ch9UxnysIYE86-miXklDZ"
  },
  "description": "",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "autoGeneratedAnchorSlug": "production",
  "legacyHash": "20gqXauNLQR9tyKJClIQk"
}
```
:::

:::ApiMethodV2
```json
{
  "tab": "examples",
  "url": "https://tracking-api-staging.fourkites.com/api/v1/tracking/deliver_loads",
  "name": "Staging",
  "method": "POST",
  "request": {
    "pathParameters": [],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [
      {
        "name": "trackingIds",
        "kind": "required",
        "type": "string",
        "description": "Unique load identifiers from FourKites system if the load was successfully created ",
        "": "Unique load identifiers from FourKites system if the load was successfully created "
      }
    ],
    "formDataParameters": []
  },
  "results": {
    "languages": [
      {
        "id": "qUCDvgNRDoYtiGSDnCFId",
        "code": "{\n  \"statusCode\": 200,\n  \"message\": \"Tracking records marked as delivered\"\n}",
        "language": "200",
        "customLabel": ""
      },
      {
        "id": "ClPKJNmUrWcSiDUrtI9vg",
        "language": "403",
        "code": "{\n    \"message\": \"Invalid Session, please login\",\n    \"message\": 403\n}",
        "customLabel": ""
      },
      {
        "id": "67u-sQzCB8KxytSRG6QHh",
        "language": "401",
        "code": "{\n    \"message\": \"Invalid Session, please login\"\n   \"statusCode\": 401\n}",
        "customLabel": ""
      },
      {
        "id": "ZHAfFNargEJ3Pl4Btc0xT",
        "language": "500",
        "code": "\n{\n    \"message\": \"An Internal Error Has Occurred\",\n    \"statusCode\": 500\n}",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "ClPKJNmUrWcSiDUrtI9vg"
  },
  "examples": {
    "languages": [
      {
        "id": "ch9UxnysIYE86-miXklDZ",
        "code": "{\n    \"trackingIds\": [\n        1234,\n        1235,\n        1236\n    ]\n}",
        "language": "json",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "ch9UxnysIYE86-miXklDZ"
  },
  "description": "",
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "autoGeneratedAnchorSlug": "staging",
  "legacyHash": "msVwWijhWYNaJx25JsXaH"
}
```
:::

:::hint{type="warning"}
Ensure the Carrier limits simultaneous load deliveries to 50 for stable API performance. If more than 50 loads need to be delivered at once, we recommend using the [Dispatcher Update API](https://docs.fourkites.com/api-reference/dispatcher-update-asynchronous-all-key-value), which can handle up to 200 updates simultaneously, or utilizing file uploads with the 'deliveredAt' field. Both the approaches support batch updates.
:::
