---
title: "Deliver a library file to a phone"
method: POST
path: "/phones/{phone_id}/deliveries"
tags: ["phones"]
---

# Deliver a library file to a phone

`POST /phones/{phone_id}/deliveries`

Sends a library file to a phone the caller's org holds: the phone downloads it over its own connection and inserts it into the media gallery, where app pickers can select it. Accepts any file by id regardless of source (uploaded or captured), and the file must already be ready - finish an uploaded file with POST /files/{file_id}/complete before delivering it. Returns 202 with the delivery record once the phone acknowledges the download started; watch GET /phones/{phone_id}/deliveries or the live preview for completion. Optionally choose the target collection (DCIM / Pictures / Movies).

## Path parameters

- `phone_id` string, required — target phone_id

## Request body

- FileDeliveryCreateRequest — Requests delivery of a library file to a phone.
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `collection` 'DCIM' | 'Pictures' | 'Movies' — Media collection to insert into on the phone; defaults to Pictures for images and Movies for videos.
  - `file_id` string, uuid, required — Library file to deliver; accepts any file id regardless of source.

## Response `202`

Accepted

- FilePushResponse — Acknowledges a dispatched push.
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `delivery` FileDeliverySummary, required — One push of a library file to a phone.
    - `$schema` string, uri — A URL to the JSON Schema for this object.
    - `bytes_transferred` integer — Bytes the phone has downloaded so far. Absent until the phone reports progress.
    - `created_at` string, date-time, required — When the push was dispatched.
    - `error` string — Failure detail for failed deliveries.
    - `file_id` string — Library file that was pushed. Absent once that file has been deleted; the filename and size below are snapshots taken at push time and survive it.
    - `filename` string, required — Delivered file's display name.
    - `id` string, required — Delivery identifier.
    - `mime_type` string, required — Delivered file's MIME type.
    - `phone_id` string, required — Phone the file was pushed to.
    - `size_bytes` integer, required — Delivered file's size in bytes.
    - `status` 'dispatching' | 'dispatched' | 'delivered' | 'failed', required — dispatching while the push is being published, dispatched while the phone downloads, then delivered or failed once it reports back.

## Other responses

- `default` — Error

## Changes

- **2026-08-17** `e2261ff54e62` — 1 info
  - the endpoint scheme security `bearerAuth` was removed from the API
- **2026-08-05** `108ab4b41051` — 1 breaking, 1 info
  - the response property `delivery/file_id` became optional for the status `202`
  - added the optional property `delivery/bytes_transferred` to the response with the `202` status
- **2026-07-26** `a0204e0956bc` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/axilioai/apis/axilio-api/changes/phones/:phone_id/deliveries/post.md)

---

[API](https://skmtc.dev/axilioai/apis/axilio-api.md) · [All operations](https://skmtc.dev/axilioai/apis/axilio-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/axilioai/axilio-api/revisions/8a66f81813b3/schema)
