Update organization member
Partially updates an existing organization member. Only the fields you provide will be updated; all other fields remain unchanged.
Automatic user synchronization: Changes to certain fields automatically sync to the associated user account:
firstName→ Updates user’s first namelastName→ Updates user’s last nameemail→ Updates user’s email addressroleId→ Updates user’s rolecanLogin→ Controls user access and status
Login access changes:
- Enabling login (
canLogin: false → true):- User status changes to Active
- In ready workspaces, an invitation email is sent with a magic link
- During initial workspace setup, invitation email delivery is deferred until setup is finished
- User can now log in as a guest user
- Disabling login (
canLogin: true → false):- User status changes to Inactive
- Invite token is cleared
- User can no longer log in
Avatar management:
- To update avatar: provide an avatar configuration ID. During the transition, an uploaded image file ID is also accepted.
- To remove avatar: Set
avatarIdtonullor an empty string
All other fields (address, phone, personality traits, etc.) can be updated independently without affecting the user account.
PATCH
/organizations/members/{id}Authorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredPath parameters
idstringrequiredQuery parameters
fieldsToReturnstringComma-separated list of top-level response fields to return. Overrides the endpoint compact default unless responseShape=full is used.
responseShapestringAdvanced override. Omit for the endpoint compact default. Use full only when you need the complete endpoint response, including nested fields that are not selectable with fieldsToReturn.
Allowed:
compactfullHeader parameters
LT-Response-ShapestringAdvanced override. Set to full only when you need the complete endpoint response, including nested fields that are not selectable with fieldsToReturn.
Allowed:
fullRequest body
requiredapplication/jsonaddressCitystringCity for the member's address. Part of the complete address information.
addressCountrystringCountry for the member's address. Part of the complete address information.
addressHouseNumberstringHouse or building number for the member's address. Part of the complete address information.
addressStreetstringStreet name for the member's address. Part of the complete address information.
addressZipstringZIP or postal code for the member's address. Part of the complete address information.
attitudeLevelstringClassification of the member's attitude towards your company. Used for relationship management and communication strategy. Available values: `Enthusiastic`, `WellMeaning`, `Neutral`, `Opposing`.
Allowed:
EnthusiasticWellMeaningNeutralOpposingavatarConfigobjectGenerated avatar configuration. If provided, it takes precedence over avatarId.
avatarIdstringAvatar configuration ID. During the transition, an image file ID from POST /workspace/upload is also accepted and converted to an uploaded avatar configuration. To remove: set to `null` or empty string. If not provided, the avatar remains unchanged.
birthDatestring<date-time>Date of birth in ISO 8601 date format (YYYY-MM-DD). Used for birthday reminders and age calculations.
canLoginbooleanWhether the member can log in to Leadtime. Changing this value will update the associated user account: setting to `true` activates the user. In ready workspaces, an invitation email is sent automatically. During initial workspace setup, invitation emails are suppressed until setup is finished. Setting to `false` deactivates the user and clears the invite token.
degreestringAcademic degree or qualification (e.g., "Ph.D.", "MBA", "M.Sc."). Used in formal communications.
emailstringEmail address. If provided, this change will automatically sync to the associated user account. Must be a valid email format.
firstNamestringFirst name. If provided, this change will automatically sync to the associated user account.
genderstringGender of the member. Used for personalized greetings in letters and communications. Available values: `Male`, `Female`.
Allowed:
MaleFemaleinfluenceLevelstringClassification of the member's level of influence within their organization. Used for relationship management and strategic planning. Available values: `Low`, `Medium`, `High`, `Dominant`.
Allowed:
LowMediumHighDominantisActivebooleanWhether the member is active in the system. Inactive members are hidden from normal views but remain in the database.
lastNamestringLast name. If provided, this change will automatically sync to the associated user account.
personalityTypestringPersonality type classification based on behavioral patterns. Used for tailoring communication and interaction approaches. Available values: `Dominant`, `Conscientious`, `Steady`, `Initiative`.
Allowed:
DominantConscientiousSteadyInitiativephonestringPhone number for contacting the member. Can include country code prefix (e.g., +1 for US).
positionstringJob title or position within the organization (e.g., "Managing Director", "Project Manager", "Head of Sales").
roleIdstringUser role ID that determines access permissions. If provided, this change will automatically sync to the associated user account, updating their permissions in Leadtime.
socialNetworkLinkstringURL to a social network profile (e.g., LinkedIn, Twitter, XING). Used for relationship management and contact information.
titlestringTitle or salutation prefix (e.g., "Dr.", "Prof.", "Mr.", "Mrs."). Used in formal communications and letters.
Responses
200
addressCityobject | nullrequiredCity
addressCountryobject | nullrequiredCountry
addressHouseNumberobject | nullrequiredHouse number
addressStreetobject | nullrequiredStreet address
addressZipobject | nullrequiredZIP/postal code
attitudeLevelstring | nullrequiredAttitude level classification
Allowed:
EnthusiasticWellMeaningNeutralOpposingavatarIdobject | nullrequiredAvatar configuration ID. Use /api/avatars/public/{avatarId}.svg to render it.
avatarUrlobject | nullrequiredPublic URL to the member's generated avatar. Returns `null` if no avatar is configured. The URL can be used directly in image tags or for display purposes.
birthDateobject | nullrequiredDate of birth in ISO 8601 date format (YYYY-MM-DD). Returns `null` if not set.
canLoginbooleanrequiredWhether member can login to the system
createdAtstringrequiredISO 8601 timestamp indicating when the organization member was created.
degreeobject | nullrequiredAcademic degree
emailstringrequiredEmail address
firstNamestringrequiredFirst name
genderstring | nullrequiredGender
Allowed:
MaleFemaleidstringrequiredOrganization member ID
influenceLevelstring | nullrequiredInfluence level classification
Allowed:
LowMediumHighDominantisActivebooleanrequiredWhether member is active
lastNamestringrequiredLast name
organizationIdstringrequiredOrganization ID
personalityTypestring | nullrequiredPersonality type classification
Allowed:
DominantConscientiousSteadyInitiativephoneobject | nullrequiredPhone number
positionobject | nullrequiredPosition/role in organization
roleIdobject | nullrequiredUser role ID that determines the member's access permissions in Leadtime. Can be `null` if the member does not have login access.
socialNetworkLinkobject | nullrequiredSocial network profile link
titleobject | nullrequiredTitle/salutation
updatedAtstringrequiredISO 8601 timestamp indicating when the organization member was last updated.
userIdstringrequiredAssociated user ID
401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X PATCH "https://leadtime.app/api/public/organizations/members/string" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"addressCity": "New York",
"addressCountry": "USA",
"addressHouseNumber": "123A",
"addressStreet": "Main Street",
"addressZip": "12345",
"attitudeLevel": "Enthusiastic",
"avatarConfig": {
"options": {
"seed": "Jane Doe"
},
"style": "initials"
},
"avatarId": "123e4567-e89b-12d3-a456-426614174000",
"birthDate": "1990-01-15",
"canLogin": true,
"degree": "Ph.D.",
"email": "john.doe@example.com",
"firstName": "John",
"gender": "Male",
"influenceLevel": "Low",
"isActive": true,
"lastName": "Doe",
"personalityType": "Dominant",
"phone": "+1234567890",
"position": "Senior Manager",
"roleId": "workspace-id_staff_",
"socialNetworkLink": "https://linkedin.com/in/johndoe",
"title": "Dr."
}'const response = await fetch("https://leadtime.app/api/public/organizations/members/string", {
method: "PATCH",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"addressCity": "New York",
"addressCountry": "USA",
"addressHouseNumber": "123A",
"addressStreet": "Main Street",
"addressZip": "12345",
"attitudeLevel": "Enthusiastic",
"avatarConfig": {
"options": {
"seed": "Jane Doe"
},
"style": "initials"
},
"avatarId": "123e4567-e89b-12d3-a456-426614174000",
"birthDate": "1990-01-15",
"canLogin": true,
"degree": "Ph.D.",
"email": "john.doe@example.com",
"firstName": "John",
"gender": "Male",
"influenceLevel": "Low",
"isActive": true,
"lastName": "Doe",
"personalityType": "Dominant",
"phone": "+1234567890",
"position": "Senior Manager",
"roleId": "workspace-id_staff_",
"socialNetworkLink": "https://linkedin.com/in/johndoe",
"title": "Dr."
})
});import requests
response = requests.patch(
"https://leadtime.app/api/public/organizations/members/string",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
json={
"addressCity": "New York",
"addressCountry": "USA",
"addressHouseNumber": "123A",
"addressStreet": "Main Street",
"addressZip": "12345",
"attitudeLevel": "Enthusiastic",
"avatarConfig": {
"options": {
"seed": "Jane Doe"
},
"style": "initials"
},
"avatarId": "123e4567-e89b-12d3-a456-426614174000",
"birthDate": "1990-01-15",
"canLogin": True,
"degree": "Ph.D.",
"email": "john.doe@example.com",
"firstName": "John",
"gender": "Male",
"influenceLevel": "Low",
"isActive": True,
"lastName": "Doe",
"personalityType": "Dominant",
"phone": "+1234567890",
"position": "Senior Manager",
"roleId": "workspace-id_staff_",
"socialNetworkLink": "https://linkedin.com/in/johndoe",
"title": "Dr."
},
)Response
{
"addressCity": "New York",
"addressCountry": "USA",
"addressHouseNumber": "123A",
"addressStreet": "Main Street",
"addressZip": "12345",
"attitudeLevel": "Enthusiastic",
"avatarId": "123e4567-e89b-12d3-a456-426614174000",
"avatarUrl": "https://example.com/api/avatars/public/123e4567-e89b-12d3-a456-426614174000.svg",
"birthDate": "1990-01-15",
"canLogin": true,
"createdAt": "2024-01-15T10:30:00.000Z",
"degree": "Ph.D.",
"email": "john.doe@example.com",
"firstName": "John",
"gender": "Male",
"id": "123e4567-e89b-12d3-a456-426614174000",
"influenceLevel": "Low",
"isActive": true,
"lastName": "Doe",
"organizationId": "123e4567-e89b-12d3-a456-426614174000",
"personalityType": "Dominant",
"phone": "+1234567890",
"position": "Manager",
"roleId": "workspace-id_guest_",
"socialNetworkLink": "https://linkedin.com/in/johndoe",
"title": "Dr.",
"updatedAt": "2024-01-20T15:45:00.000Z",
"userId": "123e4567-e89b-12d3-a456-426614174000"
}Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions