# Mark Tracking Uploaded
POST https://api.shipbob.com/2026-01/shipment:batchUpdateTrackingUpload
Content-Type: application/json
Mark tracking information as synced to your external system for multiple shipments. Use this endpoint after syncing tracking data to update the IsTrackingUploaded flag, preventing these shipments from appearing in future GET /order queries with IsTrackingUploaded=false.
Use this endpoint if you're filtering orders by is_tracking_uploaded. This allows integrations to acknowledge that shipments have been successfully synced to their system.
Reference: https://developer-dev.shipbob.dev/api/orders/mark-tracking-uploaded
## OpenAPI Specification
```yaml
openapi: 3.1.0
info:
title: api-2026-01
version: 1.0.0
paths:
/2026-01/shipment:batchUpdateTrackingUpload:
post:
operationId: mark-tracking-uploaded
summary: Mark Tracking Uploaded
description: >-
Mark tracking information as synced to your external system for multiple
shipments. Use this endpoint after syncing tracking data to update the
IsTrackingUploaded flag, preventing these shipments from appearing in
future GET /order queries with IsTrackingUploaded=false.
Use this endpoint if you're filtering orders by
is_tracking_uploaded. This allows integrations to acknowledge that
shipments have been successfully synced to their system.
tags:
- subpackage_orders
parameters:
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.BulkUpdateResponseModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: >-
#/components/schemas/Orders.Post.Api.Shipment.BulkUpdateTrackingUpload.Bad.Request.String
'401':
description: No access right at this time
content:
application/json:
schema:
description: Any type
'403':
description: No access
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Orders.BulkUpdateTrackingUploadModel'
servers:
- url: https://api.shipbob.com
- url: https://sandbox-api.shipbob.com
components:
schemas:
Orders.BulkUpdateTrackingUploadModel:
type: object
properties:
is_tracking_uploaded:
type: boolean
description: "Indicates whether the Shipment was marked with tracking information\r\nuploaded to a third-party system where the order originated.\r\nApplies to all shipments in shipment_ids"
shipment_ids:
type:
- array
- 'null'
items:
type: integer
description: Shipment IDs to apply the tracking upload status to
description: Model for updating tracking upload status for multiple shipments
title: Orders.BulkUpdateTrackingUploadModel
Orders.BulkUpdateResponseError:
type: object
properties:
code:
type:
- string
- 'null'
message:
type:
- string
- 'null'
title: Orders.BulkUpdateResponseError
Orders.BulkUpdateResponseResult:
type: object
properties:
error:
$ref: '#/components/schemas/Orders.BulkUpdateResponseError'
isSuccess:
type: boolean
shipmentId:
type: integer
format: int64
title: Orders.BulkUpdateResponseResult
Orders.BulkUpdateResponseSummary:
type: object
properties:
failed:
type: integer
successful:
type: integer
total:
type: integer
title: Orders.BulkUpdateResponseSummary
Orders.BulkUpdateResponseModel:
type: object
properties:
results:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Orders.BulkUpdateResponseResult'
summary:
$ref: '#/components/schemas/Orders.BulkUpdateResponseSummary'
title: Orders.BulkUpdateResponseModel
Orders.Post.Api.Shipment.BulkUpdateTrackingUpload.Bad.Request.String:
type: string
title: Orders.Post.Api.Shipment.BulkUpdateTrackingUpload.Bad.Request.String
securitySchemes:
PAT:
type: http
scheme: bearer
description: Authentication using Personal Access Token (PAT) token or OAuth2
```
## SDK Code Examples
```python Orders_markTrackingUploaded_example
import requests
url = "https://api.shipbob.com/2026-01/shipment:batchUpdateTrackingUpload"
payload = {
"is_tracking_uploaded": True,
"shipment_ids": [100810005]
}
headers = {
"Authorization": "Bearer ",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
```
```javascript Orders_markTrackingUploaded_example
const url = 'https://api.shipbob.com/2026-01/shipment:batchUpdateTrackingUpload';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'},
body: '{"is_tracking_uploaded":true,"shipment_ids":[100810005]}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
```
```go Orders_markTrackingUploaded_example
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.shipbob.com/2026-01/shipment:batchUpdateTrackingUpload"
payload := strings.NewReader("{\n \"is_tracking_uploaded\": true,\n \"shipment_ids\": [\n 100810005\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer ")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
```
```ruby Orders_markTrackingUploaded_example
require 'uri'
require 'net/http'
url = URI("https://api.shipbob.com/2026-01/shipment:batchUpdateTrackingUpload")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer '
request["Content-Type"] = 'application/json'
request.body = "{\n \"is_tracking_uploaded\": true,\n \"shipment_ids\": [\n 100810005\n ]\n}"
response = http.request(request)
puts response.read_body
```
```java Orders_markTrackingUploaded_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse response = Unirest.post("https://api.shipbob.com/2026-01/shipment:batchUpdateTrackingUpload")
.header("Authorization", "Bearer ")
.header("Content-Type", "application/json")
.body("{\n \"is_tracking_uploaded\": true,\n \"shipment_ids\": [\n 100810005\n ]\n}")
.asString();
```
```php Orders_markTrackingUploaded_example
request('POST', 'https://api.shipbob.com/2026-01/shipment:batchUpdateTrackingUpload', [
'body' => '{
"is_tracking_uploaded": true,
"shipment_ids": [
100810005
]
}',
'headers' => [
'Authorization' => 'Bearer ',
'Content-Type' => 'application/json',
],
]);
echo $response->getBody();
```
```csharp Orders_markTrackingUploaded_example
using RestSharp;
var client = new RestClient("https://api.shipbob.com/2026-01/shipment:batchUpdateTrackingUpload");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer ");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n \"is_tracking_uploaded\": true,\n \"shipment_ids\": [\n 100810005\n ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```
```swift Orders_markTrackingUploaded_example
import Foundation
let headers = [
"Authorization": "Bearer ",
"Content-Type": "application/json"
]
let parameters = [
"is_tracking_uploaded": true,
"shipment_ids": [100810005]
] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api.shipbob.com/2026-01/shipment:batchUpdateTrackingUpload")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
```