Ricky logorickyDocs

Upload a profile photo

POST
/whatsapp-numbers/{channel_id}/profile-photo

Begins a new profile photo in three steps: this call answers an upload_url; PUT the bytes there; then call POST /whatsapp-numbers/{channel_id}/profile-photo/complete.

Scope: conversations:write.

Authorization

bearerAuth
headerAuthorizationBearer <token>

An organization API key, rky_live_…, created in Settings → API. Send it only from a server.

channel_id*string

Channel ID.

Formatuuid
Idempotency-Key?string

Optional. A value you choose, unique per logical write, 8–200 characters: a UUID or an ID from your system such as order-10482-ready. Retrying with the same key and body replays the first response instead of repeating the write.

Length8 <= length <= 200

Request Body

application/json
  1. body

Begins the upload of a profile photo. Ricky answers where to PUT the bytes.

mime_type*string

JPEG or PNG, up to 5 MB.

Value in"image/jpeg""image/png"
size_bytes*integer

Exact size of the file you will upload.

Range1 <= value <= 9007199254740991

Response Body

Success.

application/json
  1. response
data*

Where to put the bytes of a file Ricky forwards to Meta.

curl -X POST 'https://getricky.ai/api/v1/whatsapp-numbers/497f6eca-6276-4993-bfeb-53cbbbba6f08/profile-photo' \  -H 'Idempotency-Key: order-10482-ready' \  -H 'Content-Type: application/json' \  -d '{  "mime_type": "image/png",  "size_bytes": 96512}'
{  "data": {    "upload_path": "d9e0f1a2-b3c4-4d5e-8f6a-7b8c9d0e1f2a/template-samples/8f3c2a5e-6b1d-4c7a-9e2f-1a2b3c4d5e6f/2d4f6a8c-1b3d-4e5f-8a7b-9c0d1e2f3a4b/6f1e2d3c-4b5a-4968-8776-5a4b3c2d1e0f.jpg",    "upload_url": "https://storage.example.com/upload/sign/media/…?token=…"  }}