TofuPilotTofuPilot
v2 Reference (Preview)/Units

Update unit

Update unit properties including serial number, part number, revision, batch. The current serial number is specified in the URL path. Serial numbers are matched case-insensitively (e.g., "UNIT-001" and "unit-001" are considered the same).

API v2 Preview

The TofuPilot API v2.0 is currently in public preview and is subject to change as we stabilize until release (planned for Aug 2025).

Access

API KeyAccess LevelDescription
UserFullUsers can update units they have permission to manage
StationUnauthorizedStations cannot update units

Endpoint

PATCH/v2/units/{serial_number}
AuthorizationBearer <token>

API key for authentication. Use format: Bearer YOUR_API_KEY

In: header

Path Parameters

serial_numberstring

Serial number of the unit to update.

Match^[a-zA-Z0-9_.:+-]+$
Length1 <= length <= 60
new_serial_number?string

New serial number for the unit.

Match^[a-zA-Z0-9_.:+-]+$
Length1 <= length <= 60
part_number?string

New part number for the unit.

Match^[a-zA-Z0-9_.:+-]+$
Length1 <= length <= 60
revision_number?string

New revision number for the unit.

Match^[a-zA-Z0-9_.:+-]+$
Length1 <= length <= 60
batch_number?string | null

New batch number for the unit. Set to null to remove batch.

Match^[a-zA-Z0-9_.:+-]+$
Length1 <= length <= 60

Response Body

from tofupilot.v2 import TofuPilot

# Initialize the TofuPilot client
client = TofuPilot()

# Execute the operation
result = client.units.update(
    serial_number="UNIT-12345"
)

# Handle response
print(result)
{
  "id": "550e8400-e29b-41d4-a716-446655440000"
}
{
  "code": "NOT_FOUND",
  "message": "Procedure not found: {id}",
  "issues": []
}
{
  "code": "CONFLICT",
  "message": "A version with this tag already exists for the procedure",
  "issues": []
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}

How is this guide?