---
title: "Create action for existing truckload shipment by unique system id"
method: POST
path: "/api/v4/tl/shipments/{id}/actions"
tags: ["TL: Tracking"]
---

# Create action for existing truckload shipment by unique system id

`POST /api/v4/tl/shipments/{id}/actions`

## Request

- Base URL: `https://na12.api.project44.com`
- URL: `https://na12.api.project44.com/api/v4/tl/shipments/{id}/actions`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/api/v4/oauth2/token`
- TypeScript: <https://skmtc.dev/project44/apis/project44-rest-api/docs/api/v4/tl/shipments/:id/actions/post.ts> (a function with typed inputs; its response is checked against the schema)

Use this endpoint to create an action for an existing truckload shipment identified by a given unique system id.<h4><b>Required Fields</h4></b>
<ul><li> id </li><li> code </li></ul>

## Path parameters

- `id` integer, required

## Request body

- TruckloadShipmentAction
  - `code` 'CANCEL': The code for the action to be taken on the shipment.

## Response `201`

Created

- TruckloadShipmentActionConfirmation
  - `infoMessages` Message[]: System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.
    - `diagnostic` string: Diagnostic information, often originating from the capacity provider.
    - `message` string: Message informational text.
    - `severity` 'ERROR' | 'WARNING' | 'INFO': The severity of this message.
    - `source` 'SYSTEM' | 'CAPACITY_PROVIDER': The originator of this message -- either project44 (the system) or the capacity provider.

## Other responses

- `400`: Invalid request
- `401`: Invalid or missing credentials
- `403`: User not authorized to perform this operation

---

[API](https://skmtc.dev/project44/apis/project44-rest-api.md) - [All operations](https://skmtc.dev/project44/apis/project44-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/project44/apis/project44-rest-api/revisions/cdf9675e2294?raw)
