Get a member's needs-analysis comments

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

Success: 200 OK

Overview

Retrieves the free-text needs-analysis note held against a member. A needs analysis is the conversation a member of staff has with a prospect about their goals and requirements; the note is what the staff member wrote down. It is a single block of text, not a questionnaire, and a member has at most one — saving again overwrites it rather than adding a second.

Note the URL says prospects, but the id is an ordinary member id — the same id you use everywhere else in the Members API, and the one the platform validates against the member records when the note is saved.

Read the status code before the body. A member who has never had a needs analysis recorded returns 204 No Content with an empty body, not 200 with nulls and not 404. A client that assumes a JSON body on any 2xx will fail on the most common case.

The note itself is written with PUT to the same URL; the user and date fields below are stamped by the platform at that point and cannot be set by you.

Endpoint

GET {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 whose needs-analysis note you want. Must be greater than 0 — 0 and negative values are rejected with 400 before any lookup. A member id that does not exist is not distinguished from one that exists but has no note: both give 204.

Sample request

cURL
curl -X GET '{base_url}/api/members/prospects/{memberId}/needs-analysis' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true'

Response fields

FieldTypeDescription
idinteger (int32)The id of the needs-analysis record itself. You do not need it for anything — the note is always addressed by member id, and there is no endpoint that takes this value.
memberIdinteger (int32)The member the note belongs to. Always equal to the memberId you asked for.
commentsstringThe note itself, as typed by staff. Up to 4000 characters; longer text is refused when saving. It is never null on a saved note — clearing the note saves an empty string, so "" means "the note was deliberately emptied" while a 204 means "there has never been a note".
raisedByUserIdstringThe staff user id that first created the note, captured from the logged-in user at the time. null when the note was created by a caller with no user in context, such as a server-to-server integration token. Not a member id.
raisedDatestring (date-time)When the note was first created, in UTC. Fixed at creation and not touched by later edits, so use it to tell how long the member has been engaged with.
lastActionUserIdstringThe staff user id that last edited the note. Equal to raisedByUserId until someone else edits it, and null under the same conditions.
lastActionDatestring (date-time)When the note was last saved, in UTC. Equal to raisedDate on a note that has never been edited. Compare the two to tell a fresh note from a maintained one.

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. The body is A valid memberId is required.
500Internal server errorAn unexpected server-side failure while reading the note. In particular, if more than one needs-analysis note somehow exists for the member, the read fails here rather than returning one of them.

This page as markdown · All pages · llms.txt