---
title: "Upload Profile Picture"
method: POST
path: "/children/{child_id}/profile-picture"
tags: ["children"]
---

# Upload Profile Picture

`POST /children/{child_id}/profile-picture`

## Request

- Base URL: `https://api.projectindi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.projectindi.com/children/{child_id}/profile-picture`
- Auth: none declared

Upload/replace child profile picture.

Authentication: JWT required via Authorization header
RLS: User must own the child (enforced by Supabase)

Args:
    child_id: UUID of child
    file: Image file (JPEG, PNG, WebP, HEIC)

Returns:
    Profile picture URL and signed imgproxy URL

Raises:
    400: Invalid file type or size
    404: Child not found or not owned by user
    500: Upload failed

## Path parameters

- `child_id` string, required

## Request body `multipart/form-data`

- BodyUploadProfilePictureChildrenChildIdProfilePicturePost
  - `file` string, binary, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles.md) - [All operations](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles/llms.txt) - [OpenAPI document](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles/revisions/25a7813e21fd?raw)
