Save a member's needs-analysis comments

PUT /api/members/prospects/{memberId}/needs-analysis

Success: 200 OK

Overview

Saves the needs-analysis note held against a member — the free-text record of what a prospective member said they want from a gym or centre, captured during a sales conversation.

A member has at most one needs-analysis record. This single call covers both creating it and changing it: if no record exists, one is created; if one exists, its comments are overwritten. You never need to check first, and there is no separate POST.

The whole note is replaced on every call. Omitting comments, or sending null, does not preserve the existing text — it stores an empty note. Read the current value first if you are appending to it.

The user and timestamps are stamped server-side from the calling context. raisedByUserId and raisedDate are set once when the record is first created and never change; lastActionUserId and lastActionDate are refreshed on every save. Any values you send for them are ignored.

Unlike most endpoints here, this one returns the saved record with 200 OK rather than 204.

Endpoint

PUT {base_url}/api/members/prospects/{memberId}/needs-analysis

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

Path parameters

NameTypeRequiredDescription
memberIdinteger (int32)YesThe member the note belongs to. Must be greater than 0, and must exist — a member that does not exist returns 422, not 404.

Request body

FieldTypeRequiredDescription
commentsstringNoThe needs-analysis note, maximum 4000 characters. Replaces the stored note outright. Omitting it or sending null is accepted and stores an empty note, so send the full text every time — including any text you want to keep.

Sample request

cURL
curl -X PUT '{base_url}/api/members/prospects/{memberId}/needs-analysis' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true' \
  -H 'Content-Type: application/json' \
  -d '{
  "comments": "string"
}'

Response fields

FieldTypeDescription
idinteger (int32)The id of the needs-analysis record. Assigned when the record is first created and stable thereafter.
memberIdinteger (int32)The member the note belongs to — always the id from the path.
commentsstringThe note as stored. Empty if you sent no comments.
raisedByUserIdstringThe user who first created the record, taken from the calling context. Not changed by later saves.
raisedDatestring (date-time)When the record was first created, in UTC. Not changed by later saves.
lastActionUserIdstringThe user who made this save, taken from the calling context. Overwritten on every save.
lastActionDatestring (date-time)When this save happened, in UTC. Overwritten on every save — use it to detect concurrent edits by staff.

Sample response

200 OK
{
  "id": 12345,
  "memberId": 12345,
  "comments": "string",
  "raisedByUserId": "string",
  "raisedDate": "2026-08-14T19:00:00Z",
  "lastActionUserId": "string",
  "lastActionDate": "2026-08-14T19:00:00Z"
}

Errors

StatusMeaningWhen
400Bad requestmemberId is 0 or negative, or the body is missing: A valid memberId and request body are required.
400Bad requestcomments is longer than 4000 characters: comments must be 4000 characters or fewer.
422Unprocessable entityNo member exists with that id: Member {memberId} does not exist.
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