Update member picture

PUT /api/members/{memberId}/member-picture

Overview

Stores a member's profile photograph. There is one picture per member, so this call adds it the first time and replaces it thereafter.

Three things gate the call, and all three are tenant configuration:

A successful upload also resets the member's photo-check attempt count to 0. Get member picture reports that count and the time of the last successful upload too, so you can tell a member whether and when they can upload before you call this endpoint.

This endpoint stores what you send. It does not run the image-content checks (face detection, adult content, AI-generated imagery and so on) that the separate picture-validation endpoint performs — run those first if your product needs them.

Linked members are permitted — a token issued for a member linked to {memberId} may call this endpoint.

Endpoint

PUT {base_url}/api/members/{memberId}/member-picture

{base_url} is the environment URL issued to your integration. See Authenticating with Gladstone APIs.

Path parameters

NameTypeRequiredDescription
memberIdinteger (int32)YesThe member whose picture is stored. Must match the member id in your access token, or be a member linked to it.

Request body

FieldTypeRequiredDescription
picturestringYesThe image as a plain base64 string. Strip any data-URI prefix — data:image/png;base64, makes the value fail the base64 check and returns 400. The decoded image must be 2 MB or smaller, so the base64 text itself is roughly 2.7 MB at most. Whitespace-only and empty values are rejected.

Sample request

cURL
curl -X PUT '{base_url}/api/members/{memberId}/member-picture' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true' \
  -H 'Content-Type: application/json' \
  -d '{
  "picture": "iVBORw0KGgoAAAANSUhEUgAA..."
}'

Errors

A successful call returns 204 No Content. Only the 409 carries a structured body; the other failures return a plain-text message.

StatusMeaningWhen
400Bad requestpicture is missing, empty, whitespace, or is not valid base64 — usually a data-URI prefix left in place: The given picture is not a valid base64 value
400Bad requestThe decoded image is larger than 2 MB: Image size must be 2MB or smaller.
400Bad requestThe member is younger than the tenant's minimum age for picture upload: Member is below minimum age for uploading their picture
403ForbiddenThe tenant has not enabled member picture upload, or the setting is missing: Member Picture Upload is not enabled
404Not foundNo member exists with that id: The member with ID {memberId} could not be found to update the picture
409ConflictThe member uploaded a picture too recently. The body is JSON — {"isValid": false, "reason": 17, "message": "Your picture cannot be changed yet. You can upload a new picture 180 days after your last update"} — where reason is the numeric UploadCooldownActive code and the day count reflects the tenant's configured frequency.
500Internal server errorThe change could not be saved, or another unexpected server-side failure occurred. No detail is returned in the body.

This page as markdown · All pages · llms.txt