# delivery_status > One DDEX delivery by id (from list_deliveries): its stage (queued → parsing → validating → importing → done / partial / failed), one item per release (created, updated,… Tool `delivery_status` · Read-only · Client accounts and their team only · Role permission: `delivery.view` One DDEX delivery by id (from list_deliveries): its stage (queued → parsing → validating → importing → done / partial / failed), one item per release (created, updated, flagged for staff, left out) with its release_id, and every error with its DDEX field. Client accounts only. ## Arguments | Argument | Type | Required | Description | | --- | --- | --- | --- | | `id` | number | Yes | The delivery id (from POST /ddex or the commit). | ## Example call Assistants make this call for you; this is what goes to `https://app.hillsmusic.com/mcp` over JSON-RPC. ```json { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "delivery_status", "arguments": { "id": 1 } } } ``` ## Result A one-line summary as text, then the same data as JSON in `structuredContent`, with these fields: | Field | Type | Description | | --- | --- | --- | | `data` | object | | A refusal (no permission, not found, bad input) comes back as a tool error (`isError: true`) whose text says why. Source: https://developer.hillsmusic.com/mcp/delivery-status/