---
title: Delete Shipment
slug: fourkites-api-reference/delete-shipment
description: Learn how to delete loads in a shipper's system using the asynchronous API described in this document. Discover the limitations and requirements, including the inability to delete loads once tracking has commenced. This comprehensive guide also offers cod
icon: {"apiMethod":"POST"}
createdAt: 2023-04-14T05:17:03.000Z
---

It is called when a tendered load is withdrawn or canceled in shipper's system. Loads are deleted asynchronously. An HTTP 200 response simply indicates the request was valid and submitted loads will be deleted soon if they are in a state in which they can be deleted.&#x20;

:::hint{type="info"}
Note that you will be charged for the loads that get deleted.
:::

:::hint{type="info"}
This API accepts up to 100 loads in a single request and it is recommended to batch multiple loads in a single request.
:::

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

**1 request per second**
:::

:::hint{type="info"}
### Authenticated Resource

**API Key**
:::

For more information on Authentication, [click here](https://docs.fourkites.com/api-reference/authentication).&#x20;

### Request Attributes

| Name        | Format            | Validation | Description                                                                          |
| ----------- | ----------------- | ---------- | ------------------------------------------------------------------------------------ |
| trackingIds | Array of Integers | Required   | List of unique FourKites® internal loadId(s) that are returned during load creation. |

### Response Attributes

| Name               | Format           | Description                                        |
| ------------------ | ---------------- | -------------------------------------------------- |
| message            | String           | It represents the status of the request submitted. |
| statusCode         | String           | HTTP StatusCode of the response.                   |
| deletedTrackingIds | Array of Integer | List of load ids accepted for deletion.            |

:::ApiMethodV2
```json
{
  "name": "Production",
  "method": "POST",
  "url": "https://api.fourkites.com/api/v1/tracking/delete_loads",
  "description": "",
  "tab": "examples",
  "examples": {
    "languages": [
      {
        "id": "9n8x4EXCRRtH9MYL4a7Tk",
        "language": "curl",
        "code": "curl --location --request POST 'https://api.fourkites.com/api/v1/tracking/delete_loads' \\\n--header 'Content-Type: application/json' \\\n--header 'apikey: REPLACE_KEY_VALUE' \\\n--data-raw '{\n  \"trackingIds\": [1234,1235,1236]\n}'\n",
        "customLabel": ""
      },
      {
        "id": "83ytdLYqtG5ndV8Z2jVk4",
        "language": "java",
        "code": "OkHttpClient client = new OkHttpClient().newBuilder()\n  .build();\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\");\nRequest request = new Request.Builder()\n  .url(\"https://api.fourkites.com/api/v1/tracking/delete_loads\")\n  .method(\"POST\", body)\n  .addHeader(\"Content-Type\", \"application/json\")\n  .addHeader(\"apikey\", \"REPLACE_KEY_VALUE\")\n  .build();\nResponse response = client.newCall(request).execute();\n",
        "customLabel": ""
      },
      {
        "id": "nO8OSBqwD4BCN-zQuWet2",
        "language": "javascript",
        "code": "var settings = {\n  \"url\": \"https://api.fourkites.com/api/v1/tracking/delete_loads\",\n  \"method\": \"POST\",\n  \"timeout\": 0,\n  \"headers\": {\n    \"Content-Type\": \"application/json\",\n    \"apikey\": \"REPLACE_KEY_VALUE\"\n  },\n  \"data\": JSON.stringify({\"trackingIds\":[1234,1235,1236]}),\n};\n\n$.ajax(settings).done(function (response) {\n  console.log(response);\n});\n",
        "customLabel": ""
      },
      {
        "id": "S-M-pMn9t-preC_2gijdx",
        "language": "swift",
        "code": "import Foundation\n\nvar semaphore = DispatchSemaphore (value: 0)\n\nlet parameters = \"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\"\nlet postData = parameters.data(using: .utf8)\n\nvar request = URLRequest(url: URL(string: \"https://api.fourkites.com/api/v1/tracking/delete_loads\")!,timeoutInterval: Double.infinity)\nrequest.addValue(\"application/json\", forHTTPHeaderField: \"Content-Type\")\nrequest.addValue(\"REPLACE_KEY_VALUE\", forHTTPHeaderField: \"apikey\")\n\nrequest.httpMethod = \"POST\"\nrequest.httpBody = postData\n\nlet task = URLSession.shared.dataTask(with: request) { data, response, error in \n  guard let data = data else {\n    print(String(describing: error))\n    return\n  }\n  print(String(data: data, encoding: .utf8)!)\n  semaphore.signal()\n}\n\ntask.resume()\nsemaphore.wait()\n",
        "customLabel": ""
      },
      {
        "id": "dSWSmkZi32rVLiJDztp1t",
        "language": "csharp",
        "code": "var client = new RestClient(\"https://api.fourkites.com/api/v1/tracking/delete_loads\");\nclient.Timeout = -1;\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Content-Type\", \"application/json\");\nrequest.AddHeader(\"apikey\", \"REPLACE_KEY_VALUE\");\nrequest.AddParameter(\"application/json\", \"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\",  ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\nConsole.WriteLine(response.Content);\n",
        "customLabel": ""
      },
      {
        "id": "VXhxQtBWEUDDpX_gWxj8o",
        "language": "go",
        "code": "package main\n\nimport (\n  \"fmt\"\n  \"strings\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n\n  url := \"https://api.fourkites.com/api/v1/tracking/delete_loads\"\n  method := \"POST\"\n\n  payload := strings.NewReader(\"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\")\n\n  client := &http.Client {\n  }\n  req, err := http.NewRequest(method, url, payload)\n\n  if err != nil {\n    fmt.Println(err)\n  }\n  req.Header.Add(\"Content-Type\", \"application/json\")\n  req.Header.Add(\"apikey\", \"REPLACE_KEY_VALUE\")\n\n  res, err := client.Do(req)\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n\n  fmt.Println(string(body))\n}\n",
        "customLabel": ""
      },
      {
        "id": "TMfoegAHQpH6jIFgYYZco",
        "language": "ruby",
        "code": "require \"uri\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.fourkites.com/api/v1/tracking/delete_loads\")\n\nhttps = Net::HTTP.new(url.host, url.port);\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Content-Type\"] = \"application/json\"\nrequest[\"apikey\"] = \"REPLACE_KEY_VALUE\"\nrequest.body = \"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\"\n\nresponse = https.request(request)\nputs response.read_body\n",
        "customLabel": ""
      },
      {
        "id": "SoqPCioEowRYQKoiMhvsj",
        "language": "python",
        "code": "import http.client\nimport mimetypes\nconn = http.client.HTTPSConnection(\"api.fourkites.com\")\npayload = \"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\"\nheaders = {\n  'Content-Type': 'application/json',\n  'apikey': 'REPLACE_KEY_VALUE'\n}\nconn.request(\"POST\", \"/api/v1/tracking/delete_loads\", payload, headers)\nres = conn.getresponse()\ndata = res.read()\nprint(data.decode(\"utf-8\"))\n",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "9n8x4EXCRRtH9MYL4a7Tk"
  },
  "results": {
    "languages": [
      {
        "id": "gTiv2EJyaNnselR2jnJJR",
        "language": "200",
        "customLabel": "",
        "code": "{\n  \"message\": \"Tracking records submitted for deletion\",\n  \"statusCode\": \"200\"\n}\n"
      }
    ],
    "selectedLanguageId": "gTiv2EJyaNnselR2jnJJR"
  },
  "request": {
    "pathParameters": [],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "production",
  "legacyHash": "-aKPz9aOufd39g7pkudDf"
}
```
:::

:::ApiMethodV2
```json
{
  "name": "Staging",
  "method": "POST",
  "url": "https://api-staging.fourkites.com/api/v1/tracking/delete_loads",
  "description": "",
  "tab": "examples",
  "examples": {
    "languages": [
      {
        "id": "9n8x4EXCRRtH9MYL4a7Tk",
        "language": "curl",
        "code": "curl --location --request POST 'https://api-staging.fourkites.com/api/v1/tracking/delete_loads' \\\n--header 'Content-Type: application/json' \\\n--header 'apikey: REPLACE_KEY_VALUE' \\\n--data-raw '{\n  \"trackingIds\": [1234,1235,1236]\n}'\n",
        "customLabel": ""
      },
      {
        "id": "83ytdLYqtG5ndV8Z2jVk4",
        "language": "java",
        "code": "OkHttpClient client = new OkHttpClient().newBuilder()\n  .build();\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\");\nRequest request = new Request.Builder()\n  .url(\"https://api-staging.fourkites.com/api/v1/tracking/delete_loads\")\n  .method(\"POST\", body)\n  .addHeader(\"Content-Type\", \"application/json\")\n  .addHeader(\"apikey\", \"REPLACE_KEY_VALUE\")\n  .build();\nResponse response = client.newCall(request).execute();\n",
        "customLabel": ""
      },
      {
        "id": "nO8OSBqwD4BCN-zQuWet2",
        "language": "javascript",
        "code": "var settings = {\n  \"url\": \"https://api-staging.fourkites.com/api/v1/tracking/delete_loads\",\n  \"method\": \"POST\",\n  \"timeout\": 0,\n  \"headers\": {\n    \"Content-Type\": \"application/json\",\n    \"apikey\": \"REPLACE_KEY_VALUE\"\n  },\n  \"data\": JSON.stringify({\"trackingIds\":[1234,1235,1236]}),\n};\n\n$.ajax(settings).done(function (response) {\n  console.log(response);\n});\n",
        "customLabel": ""
      },
      {
        "id": "S-M-pMn9t-preC_2gijdx",
        "language": "swift",
        "code": "import Foundation\n\nvar semaphore = DispatchSemaphore (value: 0)\n\nlet parameters = \"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\"\nlet postData = parameters.data(using: .utf8)\n\nvar request = URLRequest(url: URL(string: \"https://api-staging.fourkites.com/api/v1/tracking/delete_loads\")!,timeoutInterval: Double.infinity)\nrequest.addValue(\"application/json\", forHTTPHeaderField: \"Content-Type\")\nrequest.addValue(\"REPLACE_KEY_VALUE\", forHTTPHeaderField: \"apikey\")\n\nrequest.httpMethod = \"POST\"\nrequest.httpBody = postData\n\nlet task = URLSession.shared.dataTask(with: request) { data, response, error in \n  guard let data = data else {\n    print(String(describing: error))\n    return\n  }\n  print(String(data: data, encoding: .utf8)!)\n  semaphore.signal()\n}\n\ntask.resume()\nsemaphore.wait()\n",
        "customLabel": ""
      },
      {
        "id": "dSWSmkZi32rVLiJDztp1t",
        "language": "csharp",
        "code": "var client = new RestClient(\"https://api-staging.fourkites.com/api/v1/tracking/delete_loads\");\nclient.Timeout = -1;\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Content-Type\", \"application/json\");\nrequest.AddHeader(\"apikey\", \"REPLACE_KEY_VALUE\");\nrequest.AddParameter(\"application/json\", \"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\",  ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\nConsole.WriteLine(response.Content);\n",
        "customLabel": ""
      },
      {
        "id": "VXhxQtBWEUDDpX_gWxj8o",
        "language": "go",
        "code": "package main\n\nimport (\n  \"fmt\"\n  \"strings\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n\n  url := \"https://api-staging.fourkites.com/api/v1/tracking/delete_loads\"\n  method := \"POST\"\n\n  payload := strings.NewReader(\"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\")\n\n  client := &http.Client {\n  }\n  req, err := http.NewRequest(method, url, payload)\n\n  if err != nil {\n    fmt.Println(err)\n  }\n  req.Header.Add(\"Content-Type\", \"application/json\")\n  req.Header.Add(\"apikey\", \"REPLACE_KEY_VALUE\")\n\n  res, err := client.Do(req)\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n\n  fmt.Println(string(body))\n}\n",
        "customLabel": ""
      },
      {
        "id": "TMfoegAHQpH6jIFgYYZco",
        "language": "ruby",
        "code": "require \"uri\"\nrequire \"net/http\"\n\nurl = URI(\"https://api-staging.fourkites.com/api/v1/tracking/delete_loads\")\n\nhttps = Net::HTTP.new(url.host, url.port);\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Content-Type\"] = \"application/json\"\nrequest[\"apikey\"] = \"REPLACE_KEY_VALUE\"\nrequest.body = \"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\"\n\nresponse = https.request(request)\nputs response.read_body\n",
        "customLabel": ""
      },
      {
        "id": "SoqPCioEowRYQKoiMhvsj",
        "language": "python",
        "code": "import http.client\nimport mimetypes\nconn = http.client.HTTPSConnection(\"api-staging.fourkites.com\")\npayload = \"{\\n  \\\"trackingIds\\\": [1234,1235,1236]\\n}\"\nheaders = {\n  'Content-Type': 'application/json',\n  'apikey': 'REPLACE_KEY_VALUE'\n}\nconn.request(\"POST\", \"/api/v1/tracking/delete_loads\", payload, headers)\nres = conn.getresponse()\ndata = res.read()\nprint(data.decode(\"utf-8\"))\n",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "SoqPCioEowRYQKoiMhvsj"
  },
  "results": {
    "languages": [
      {
        "id": "gTiv2EJyaNnselR2jnJJR",
        "language": "200",
        "customLabel": "",
        "code": "{\n  \"message\": \"Tracking records submitted for deletion\",\n  \"statusCode\": \"200\"\n}\n"
      }
    ],
    "selectedLanguageId": "gTiv2EJyaNnselR2jnJJR"
  },
  "request": {
    "pathParameters": [],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [],
    "formDataParameters": []
  },
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "staging",
  "legacyHash": "GWBSzy5eWppZIAcfhUVO2"
}
```
:::
