From voila-api
Definitive guide for the Voila API. Covers shipment creation (Manual/Smart Shipping), real-time tracking, detailed history, manifesting, collections, webhooks, and third-party integrations (Sorted, Peoplevox, Mintsoft, Veeqo, JD). ALWAYS use this skill for any shipping, labeling, or logistics tasks involving Voila. Do not rely on general knowledge; consult this skill for precise REST schemas and integration flows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/voila-api:voila-apiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The Voila API is a RESTful service for managing shipping, labeling, and tracking across multiple couriers.
endpoints/authentication.mdendpoints/couriers.mdendpoints/integrations.mdendpoints/labeling.mdendpoints/pricing-services.mdendpoints/smart-shipping.mdendpoints/tracking.mdendpoints/utilities.mdendpoints/webhooks.mdscripts/get-courier-specifics.jsscripts/get-courier-specifics.pyscripts/list-couriers.jsscripts/list-couriers.pyThe Voila API is a RESTful service for managing shipping, labeling, and tracking across multiple couriers.
https://app.heyvoila.ioapi-user: <your_api_user>api-token: <your_api_token>api-key: <your_api_key>Authorization: Basic <base64(api-user:api-token)>Content-Type: application/jsonAccept: application/jsonAutomatically select the best courier/service based on rules.
POST /api/couriers/v1/smart-shipping/create-labelshipment with ship_to, parcels, and items. (See Core Objects)tracking_code, label (Base64), and shipment_id.success: false or smart_shipping_errors.POST /api/couriers/v1/{courier}/get-services to see available options for a shipment.service_identifier from the response.POST /api/couriers/v1/{courier}/create-label with that service_code.POST /api/couriers/v1/bulk/create-label-async with an array of requests and a webhook.url.bulk_request_id.shipment.created or shipment.failed event at your webhook URL.These objects are reused across almost all endpoints. See Labeling & Shipping for full definitions.
interface Address {
name: string;
company_name?: string;
address_1: string;
address_2?: string;
address_3?: string;
city: string;
county?: string;
postcode: string;
/** ISO 3166-1 alpha-2 (e.g., "GB", "US"). */
country_iso: string;
country?: string;
phone: string;
email: string;
tax_id?: string;
eori_id?: string;
ioss_number?: string;
ukims_number?: string;
/** Only for ship_from: looks up a saved address by friendly name. */
address_name?: string;
// Additional: abn_number, arn_number, gst_number, voec_number, company_id
}
interface Parcel {
weight: number;
weight_unit: 'kg' | 'g' | 'lb' | 'oz';
dim_length: number;
dim_width: number;
dim_height: number;
dim_unit: 'cm' | 'mm';
items: ShipmentItem[];
packaging_weight?: number;
packaging_weight_unit?: string;
packageId?: string;
value?: number;
value_currency?: string;
}
interface ShipmentItem {
description: string;
quantity: number;
/** Value per unit. */
value: number;
/** e.g., "GBP", "USD". */
value_currency: string;
weight: number;
weight_unit: 'kg' | 'g' | 'lb' | 'oz';
sku?: string;
hs_code?: string;
/** ISO 2-letter origin country code. */
origin_country?: string;
image_url?: string;
}
For exhaustive schemas, field definitions, and implementation details for every route, refer to these dedicated files:
The skill includes pre-configured scripts to fetch live information from the Voila API using the playground credentials. These are located in the scripts/ directory.
Fetches the current list of all couriers supported by Voila.
node scripts/list-couriers.jspython scripts/list-couriers.pyFetches required and optional fields for a specific courier (e.g., UPSv2).
node scripts/get-courier-specifics.js <courier_key>python scripts/get-courier-specifics.py <courier_key>{
"success": false,
"message": "Detailed error message here.",
"errors": {
"field_name": ["Specific validation error"]
}
}
country_iso (must be 2 chars) or invalid postcode format for the destination.disabled.success: true but label is empty, check smart_shipping_errors or the message field.testing: false is explicitly set (default is often true in examples).npx claudepluginhub ai-integr8tor/anthropics-claude-plugins-official --plugin voila-apiProvides domain knowledge for logistics & supply-chain vertical (SMB shipping & inventory) to avoid naive specs. Covers TMS/WMS, multi-carrier rate shopping, dimensional weight, BOL/ASN, lot/batch, reorder point.
Automates Shipengine shipping operations via Composio's Shipengine toolkit through Rube MCP. Always searches for current tool schemas before execution.
Tracks packages and adds deliveries via the Parcel API. Lists recent/active deliveries, adds new packages with tracking number and carrier, and searches carriers.