Update a prospect interaction

PUT /api/members/prospects/{memberId}/interactions/{id}

Overview

Updates an existing prospect interaction — a logged contact with a prospective member, such as a call, a tour or a follow-up, recorded against their record while sales staff work the lead.

This is a partial update. Every field falls back to its current value, so anything you omit or send as null keeps its current value. There is no way to blank a text field or clear a date through this endpoint. The last-action user and last-action date are stamped by the server on every successful call, and any value you supply for them is ignored.

The interaction must belong to the member in the path: the record is looked up by both ids together, so a valid interaction id under the wrong member returns 404.

Two references are cross-checked before anything is written, and the check runs against the merged record, not just what you sent. If you change only the outcome, it is validated against the sub type already stored; if you change only the sub type, it is validated against the stored outcome. An outcome that does not belong to the same interaction type as the sub type is rejected with 422 even though both values exist. Get valid values from Get the prospect interaction sub types for an interaction type and Get the prospect interaction outcomes for an interaction type.

Endpoint

PUT {base_url}/api/members/prospects/{memberId}/interactions/{id}

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

Path parameters

NameTypeRequiredDescription
memberIdinteger (int32)YesThe prospect the interaction belongs to. Must be greater than 0, and must exist — a member that does not exist returns 422, not 404.
idinteger (int32)YesThe id of the interaction to update, from Get a member's prospect interactions. It must belong to {memberId} or the call returns 404.

Request body

FieldTypeRequiredDescription
interactionSubTypeIdstringNoThe specific kind of contact within an interaction type — for example a particular sort of call or appointment. Maximum 15 characters, and must exist. Omit or send null to leave it unchanged; an empty or whitespace string is explicitly rejected with 400 rather than being written. Changing it re-checks the stored outcomeOfInteractionTypeId for compatibility.
detailsstringNoFree-text notes about what happened. Maximum 4000 characters. Omit or send null to keep the existing notes — they cannot be cleared here.
nextActionDatestring (date-time)NoWhen the next follow-up is due. Stored in the tenant's local time zone. Omit or send null to keep the current date; there is no way to remove a scheduled follow-up through this endpoint.
scheduledWithstringNoThe staff member the interaction is scheduled with. Maximum 15 characters. Not validated against the user list. Omit or send null to leave unchanged.
scheduledBystringNoThe staff member who arranged the interaction. Maximum 15 characters. Not validated against the user list. Omit or send null to leave unchanged.
outcomeOfInteractionTypeIdinteger (int32)NoThe result of the interaction, from the outcomes configured for its interaction type. Must exist, and must belong to the same interaction type as the sub type on the merged record, or the call fails with 422. Omit or send null to leave the outcome unchanged.
durationinteger (int32)NoHow long the interaction took, in minutes. Must be between 5 and 30 inclusive; anything else returns 400. Omit or send null to leave it unchanged.
priorityinteger (enum)NoHow urgent the interaction is: 1 low, 2 medium, 3 high. Send the number, not the name. Omit or send null to leave the priority unchanged.
emailConfirmationTypeinteger (int32)NoWhich confirmation email is associated with the interaction. Omit or send null to leave it unchanged.
interactionStatusinteger (enum)NoWhere the interaction has got to: 1 active, 2 completed, 3 overdue, 4 unassigned. Send the number, not the name. Not cross-checked against nextActionDate or the outcome, so marking an interaction completed is entirely up to you. Omit or send null to leave the status unchanged.
reminderinteger (int32)NoHow many minutes before the interaction a reminder should fire. Must be -1 for no reminder, or between 0 and 30 inclusive; anything else returns 400. Omit or send null to leave the reminder unchanged — send -1 to turn it off.

Sample request

cURL
curl -X PUT '{base_url}/api/members/prospects/{memberId}/interactions/{id}' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true' \
  -H 'Content-Type: application/json' \
  -d '{
  "interactionSubTypeId": "string",
  "details": "string",
  "nextActionDate": "2026-08-14T19:00:00Z",
  "scheduledWith": "string",
  "scheduledBy": "string",
  "outcomeOfInteractionTypeId": 12345,
  "duration": 1,
  "priority": 1,
  "emailConfirmationType": 1,
  "interactionStatus": 1,
  "reminder": 1
}'

Errors

A successful call returns 204 No Content. Note the split: value-shape problems are 400, while references that do not resolve are 422.

StatusMeaningWhen
400Bad requestmemberId is 0 or negative, or the body is missing: A valid memberId and request body are required.
400Bad requestinteractionSubTypeId was supplied as an empty or whitespace string: interactionSubTypeId, when supplied, must be a non-empty value.
400Bad requestduration is outside 5–30: duration must be between 5 and 30 minutes.
400Bad requestreminder is not -1 and is outside 0–30: reminder must be -1 (none) or between 0 and 30 minutes.
400Bad requestA field is too long: details must be 4000 characters or fewer., scheduledWith must be 15 characters or fewer., scheduledBy must be 15 characters or fewer., interactionSubTypeId must be 15 characters or fewer.
404Not foundNo interaction with that id belongs to that member: Interaction {id} was not found for member {memberId}.
422Unprocessable entityThe prospect does not exist: Member {memberId} does not exist.
422Unprocessable entityinteractionSubTypeId is not configured: Interaction sub type '{interactionSubTypeId}' does not exist.
422Unprocessable entityoutcomeOfInteractionTypeId is not configured: Interaction outcome {id} does not exist.
422Unprocessable entityThe outcome belongs to a different interaction type from the sub type on the merged record: Interaction outcome {id} is not valid for interaction sub type '{subTypeId}'.
500Internal server errorSaving the change failed, or another unexpected server-side failure occurred. No detail is returned in the body.

This page as markdown · All pages · llms.txt