Skip to content

Remove member

DELETE /organizations/{org_id}/users/{user_id}

This deactivates a member in your Tallyfy organization. They lose access to this organization, but their Tallyfy account itself isn’t touched. You can also hand their tasks to another member as part of the removal.

You’ll need admin permissions. Bot users can’t be removed through this endpoint.

Tallyfy also has a separate way to delete a member for good. It takes two steps and uses different endpoints:

  1. Disable: DELETE /organizations/{org_id}/users/{user_id}/disable
  2. Permanently delete: DELETE /organizations/{org_id}/users/{user_id}/delete

The permanent delete endpoint only works on a member you’ve already disabled. Skip that step and you’ll get an error. The main DELETE /organizations/{org_id}/users/{user_id} endpoint on this page doesn’t need the member disabled first. It never deletes the member for good. To do that, see disable, enable or delete member.

Replace {org_id} with your organization ID. Replace {user_id} with the member’s numeric ID.

  • Authorization: Bearer {your_access_token}
  • Accept: application/json
  • X-Tallyfy-Client: APIClient
  • with_reassignment (boolean) - Set to true to reassign the member’s tasks before removal.
  • to (integer) - Required when with_reassignment=true. The user ID receiving reassigned tasks.

Example: ?with_reassignment=true&to=1002

You don’t need a request body.

const accessToken = 'YOUR_PERSONAL_ACCESS_TOKEN';
const orgId = 'YOUR_ORGANIZATION_ID';
const userId = 12345;
const reassignToUserId = null; // Set to a user ID to reassign tasks
const params = new URLSearchParams();
if (reassignToUserId != null) {
params.append('with_reassignment', 'true');
params.append('to', reassignToUserId.toString());
}
const queryStr = params.toString();
const apiUrl = `https://go.tallyfy.com/api/organizations/${orgId}/users/${userId}${queryStr ? '?' + queryStr : ''}`;
fetch(apiUrl, {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Accept': 'application/json',
'X-Tallyfy-Client': 'APIClient'
}
})
.then(response => {
if (!response.ok) {
return response.json().then(err => { throw new Error(JSON.stringify(err)); });
}
return response.json();
})
.then(data => {
console.log('Member removed:', JSON.stringify(data, null, 2));
})
.catch(error => {
console.error(`Error removing member ${userId}:`, error.message);
});

You’ll get 200 OK. The removed member’s data comes back in a data object.

{
"data": {
"id": 12345,
"email": "john.doe@example.com",
"first_name": "John",
"last_name": "Doe",
"role": "standard",
"status": "disabled"
}
}
StatusError messageWhat to do
422You can't remove a bot user from this organization!Bot users can’t be removed through this endpoint.
422Cannot modify the default administrator. Please assign another member as default administrator first.Assign the default admin role to someone else before removing this member.
404User not foundCheck that the user ID exists in this organization.