VECU Custody Python SDK
A Python SDK for managing vehicle custody permits, transfers, and compliance tracking. Built with synchronous and asynchronous support for modern Python applications.
Beta Release
The Python SDK is currently in beta (v0.1.1). API may change before stable release.
Features
- Sync & Async Clients - Choose between
CustodyClientandAsyncCustodyClient - Custody Permits - Create and manage permissions for vehicle custody
- Transfer Tracking - Track custody transfers with hash-chain integrity verification
- Releasability Checks - Verify if vehicles are releasable with real-time data
- Auto-Pagination - Automatically handle paginated responses
- Comprehensive Errors - 15+ typed exceptions for precise error handling
- Automatic Retries - Built-in retry logic for transient failures
Quick Links
- Quick Start Guide - Get started in minutes
- Installation - Setup and configuration
- Configuration - Client options and environment presets
- Advanced Async Patterns - FastAPI, concurrency, background tasks
- API Reference - Complete API documentation
Quick Start
from vecu_custody import CustodyClient
# Initialize the client
client = CustodyClient.sandbox(token="your-jwt-token")
# Create an authorization for vehicle custody
auth = client.authorizations.create(
vin="9HGBH41JXMN999999",
origin="LOC-AUCTION-MANHEIM-ATLANTA",
destination="LOC-DEALERSHIP-CARMAX-ORLANDO",
person_identity_key="vecu_gfTRAjYnn_y-8zj-aBc4dEf5",
authorized_by="system-auction-integration",
make_model="Honda Accord 2023",
)
print(f"Created: {auth.authorization_id}")
print(f"Status: {auth.status}")
# Check if vehicle is releasable
result = client.releasability.get(
"9HGBH41JXMN999999",
origin="LOC-AUCTION-MANHEIM-ATLANTA"
)
print(f"Releasable: {result.is_releasable}")
API Resources
The SDK provides access to 5 resource groups:
| Resource | Methods | Purpose |
|---|---|---|
| Custody Permits | 4 | Create, get, list, and cancel custody permits |
| Transfers | 4 | Create transfers, track status, verify integrity |
| Releasability | 2 | Query and update vehicle releasability status |
| Health | 1 | Service health check |
API Terminology
In documentation, we use "Custody Permits" to describe permissions for vehicle
custody. The underlying API resource is named authorizations (e.g.,
client.authorizations.create()). This distinction avoids confusion with API
authentication.
Requirements
- Python >= 3.11
- Access to Cox Automotive Artifactory
Installation
# Using pip with Artifactory
pip install vecu-custody-python-sdk --index-url https://cai.jfrog.io/artifactory/api/pypi/pypi-release-local/simple
# Using uv (recommended)
uv add vecu-custody-python-sdk
Artifactory Required
The SDK is hosted in Cox Automotive's Artifactory. See Installation Guide for registry setup.
Next Steps
- Follow the Quick Start Guide for a step-by-step tutorial
- Review Configuration options
- Learn about Error Handling patterns
- Explore the API Reference