Back to skills
SKILL.md
Flexport Upgrade Migration
ASecurity'Migrate between Flexport API versions (v1 to v2, Logistics API versions).
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added November 11, 2026
Works with
Security analysis
100/100npx -y skills add pauldx/claudifying --skill flexport-upgrade-migration --agent claude-codeAre you the author of Flexport Upgrade Migration?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/pauldx-flexport-upgrade-migration)---
name: flexport-upgrade-migration
description: 'Migrate between Flexport API versions (v1 to v2, Logistics API versions).
Use when upgrading API version headers, handling deprecated endpoints,
or migrating from legacy Flexport API patterns.
Trigger: "upgrade flexport", "flexport API version", "flexport migration".
'
allowed-tools: Read, Write, Edit, Bash(npm:*), Grep
version: 1.0.0
license: MIT
tags:
- saas
- logistics
- flexport
compatibility: Designed for Claude Code
---
# Flexport Upgrade & Migration
## Overview
Guide for migrating between Flexport API versions. The main API uses `Flexport-Version` header (currently `2`). The Logistics API has dated versions (`2023-10`, `2024-04`). Breaking changes are versioned -- old versions remain available during deprecation windows.
## Instructions
### Step 1: Identify Current API Usage
```bash
# Find all Flexport API calls in your codebase
grep -rn "Flexport-Version\|api.flexport.com\|logistics-api.flexport.com" src/ --include="*.ts" --include="*.py"
# Check which version header you're sending
grep -rn "Flexport-Version" src/ --include="*.ts"
```
### Step 2: API v1 to v2 Migration
| Change | v1 | v2 |
|--------|----|----|
| Header | `Flexport-Version: 1` | `Flexport-Version: 2` |
| Response wrapper | `{ "_object": "Shipment", ... }` | `{ "data": { ... } }` |
| Pagination | `{ "next": "/shipments?page=2" }` | `{ "data": { "records": [], "total_count": N } }` |
| Error format | `{ "errors": [...] }` | `{ "error": { "code": "...", "message": "..." } }` |
| Date format | Mixed | ISO 8601 consistently |
```typescript
// v1 pattern (deprecated)
const res = await fetch(`${BASE}/shipments`, { headers: { 'Flexport-Version': '1' } });
const { _object, id, status } = await res.json();
// v2 pattern (current)
const res = await fetch(`${BASE}/shipments`, { headers: { 'Flexport-Version': '2' } });
const { data } = await res.json();
data.records.forEach(s => console.log(s.id, s.status));
```
### Step 3: Logistics API Version Migration
```typescript
// The Logistics API has separate versioned URLs
// Old: https://docs.logistics-api.flexport.com/2023-10/
// New: https://docs.logistics-api.flexport.com/2024-04/
// Check OpenAPI spec for changes
// https://logistics-api.flexport.com/logistics/api/2024-04/documentation/raw
```
### Step 4: Dual-Version Testing
```typescript
// Run both versions in parallel during migration
async function migrateEndpoint(path: string) {
const [v1Res, v2Res] = await Promise.all([
fetch(`${BASE}${path}`, { headers: { ...auth, 'Flexport-Version': '1' } }),
fetch(`${BASE}${path}`, { headers: { ...auth, 'Flexport-Version': '2' } }),
]);
const v1 = await v1Res.json();
const v2 = await v2Res.json();
// Compare key fields to verify migration correctness
console.log('v1 count:', v1.total || 'N/A');
console.log('v2 count:', v2.data?.total_count || 'N/A');
}
```
## Migration Checklist
- [ ] Update `Flexport-Version` header to `2`
- [ ] Update response parsing from `_object` to `data.records`
- [ ] Update pagination logic for v2 format
- [ ] Update error handling for v2 error format
- [ ] Run test suite against v2 endpoints
- [ ] Deploy to staging and verify
- [ ] Monitor error rates after production deployment
## Resources
- [Flexport API Reference](https://apidocs.flexport.com/)
- [Logistics API Changelog](https://docs.logistics-api.flexport.com/)
## Next Steps
For CI integration during upgrades, see `flexport-ci-integration`.
Attribution
Related skills
View all in documentation →Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.