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 CustodyClient and AsyncCustodyClient
  • 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

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:

ResourceMethodsPurpose
Custody Permits4Create, get, list, and cancel custody permits
Transfers4Create transfers, track status, verify integrity
Releasability2Query and update vehicle releasability status
Health1Service 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

  1. Follow the Quick Start Guide for a step-by-step tutorial
  2. Review Configuration options
  3. Learn about Error Handling patterns
  4. Explore the API Reference