---
title: "Upload Mobile Images"
method: POST
path: "/mobile-upload/{secret_key}/images"
tags: ["Mobile Upload"]
---

# Upload Mobile Images

`POST /mobile-upload/{secret_key}/images`

## Request

- Base URL: `https://api.excellence-ai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.excellence-ai.com/mobile-upload/{secret_key}/images`
- Auth: none declared

Phone: send photos. Idempotent per `client_id`.

## Path parameters

- `secret_key` string, required

## Request body

- MobilePhotoUploadRequest
  - `files` MobilePhotoUpload[], required
    - `file_content` string, required
    - `file_name` string, required
    - `content_type` string
    - `client_id` string, nullable

## Response `200`

Successful Response

- MobilePhotoUploadResponse
  - `status` 'success'
  - `urls` string[], required
  - `photos` StoredPhotoResponse[], required
    - `client_id` string, nullable, required
    - `url` string, required
  - `message` string

## Other responses

- `403`: Phone upload session closed, expired or stale; carries the receipts of the photos sent
- `404`: Resource not found
- `413`: File over the size cap for its kind
- `415`: File content is not an accepted type
- `422`: Validation Error

## Changes

> 55 revisions in range; 1 not diffed.

- **2026-10-06** `eb0ac355046c`: 4 breaking, 10 info
  - added the new required request property `files/items/file_content`
  - added the new required request property `files/items/file_name`
  - the `files` request property's minItems was increased to `1`
  - the response's body type changed from no type to `object` for status `200`
  - …10 more

[Operation history](https://skmtc.dev/excellence-ai/apis/excellence-learning/changes/mobile-upload/:secret_key/images/post.md)

---

[API](https://skmtc.dev/excellence-ai/apis/excellence-learning.md) - [All operations](https://skmtc.dev/excellence-ai/apis/excellence-learning/llms.txt) - [OpenAPI document](https://skmtc.dev/excellence-ai/apis/excellence-learning/revisions/379e4a57dee8?raw)
