> ## Documentation Index
> Fetch the complete documentation index at: https://help.eazybe.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Eliminar Empleados en Masa

> Anteriormente: Remove Employees Bulk API. Elimine varios empleados de su organizacion en una sola solicitud utilizando sus direcciones de correo electronico.

## Descripcion General

La API de Eliminacion Masiva de Empleados le permite eliminar varios empleados de su organizacion en una sola solicitud utilizando sus direcciones de correo electronico. Esta API publica esta disenada para que sistemas externos e integraciones gestionen el acceso de empleados sin requerir autenticacion de administrador a traves del flujo JWT estandar.

Requiere un **Token de Portador de la Organizacion** (`auth_token`) para la autenticacion, asegurando que solo las organizaciones autorizadas puedan eliminar empleados de su espacio de trabajo.

***

## URL de Ruta

```
https://api.eazybe.com/v2/organizations/public/remove-employee-bulk
```

***

## Uso de la API

**Endpoint:**

```
POST https://api.eazybe.com/v2/organizations/public/remove-employee-bulk
```

***

## Encabezados

| Encabezado      | Descripcion                                                                                                   | Ejemplo                    |
| --------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------- |
| `Authorization` | Token de portador utilizado para la autenticacion. Debe ser un Token de Autenticacion de Organizacion valido. | `Bearer YOUR-BEARER-TOKEN` |
| `Content-Type`  | El tipo de contenido del cuerpo de la solicitud                                                               | `application/json`         |

***

## Cuerpo de la Solicitud

| Campo    | Tipo             | Requerido | Descripcion                                                                           |
| -------- | ---------------- | --------- | ------------------------------------------------------------------------------------- |
| `emails` | array de strings | Si        | Array de direcciones de correo electronico de empleados a eliminar de la organizacion |

***

## Ejemplo de Solicitud cURL

```bash theme={null}
curl --location 'https://api.eazybe.com/v2/organizations/public/remove-employee-bulk' \
--header 'Authorization: Bearer YOUR-BEARER-TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "emails": [
    "john.doe@company.com",
    "jane.smith@company.com",
    "robert.brown@company.com"
  ]
}'
```

***

## Codigo de Solicitud de Ejemplo (Node.js con Axios)

```javascript theme={null}
const axios = require('axios');

let data = JSON.stringify({
  "emails": [
    "john.doe@company.com",
    "jane.smith@company.com",
    "robert.brown@company.com"
  ]
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://api.eazybe.com/v2/organizations/public/remove-employee-bulk',
  headers: {
    'Authorization': 'Bearer YOUR-BEARER-TOKEN',
    'Content-Type': 'application/json'
  },
  data: data
};

axios.request(config)
  .then((response) => {
    console.log(JSON.stringify(response.data, null, 2));
  })
  .catch((error) => {
    console.error(error);
  });
```

***

## Ejemplo de Respuesta (Exitosa)

```json theme={null}
{
  "statusCode": 200,
  "status": "success",
  "message": "Employees removed successfully",
  "data": {
    "removedEmails": [
      "john.doe@company.com",
      "jane.smith@company.com"
    ],
    "notFoundEmails": [
      "robert.brown@company.com"
    ]
  }
}
```

***

## Campos de Respuesta

| Campo                 | Tipo             | Descripcion                                                              |
| --------------------- | ---------------- | ------------------------------------------------------------------------ |
| `statusCode`          | number           | Codigo de estado HTTP (200 para exito, 400/401/404/500 para errores)     |
| `status`              | string           | Estado de la solicitud (`"success"` o `"error"`)                         |
| `message`             | string           | Mensaje legible que describe el resultado                                |
| `data`                | object           | Datos de respuesta que contienen los correos eliminados y no encontrados |
| `data.removedEmails`  | array de strings | Lista de direcciones de correo electronico eliminadas exitosamente       |
| `data.notFoundEmails` | array de strings | Lista de direcciones de correo electronico no encontradas en el sistema  |

***

## Respuestas de Error

### 401 No Autorizado - Token de Acceso Invalido

```json theme={null}
{
  "statusCode": 401,
  "status": "error",
  "message": "Invalid access token",
  "data": {
    "error": {
      "message": "Invalid access token"
    }
  }
}
```

### 400 Solicitud Incorrecta - No Se Proporcionaron Correos

```json theme={null}
{
  "statusCode": 400,
  "status": "error",
  "message": "No email IDs provided",
  "data": {
    "error": {
      "message": "No email IDs provided"
    }
  }
}
```

### 404 No Encontrado - No Se Encontraron Usuarios

```json theme={null}
{
  "statusCode": 404,
  "status": "error",
  "message": "No users found for the provided emails",
  "data": {
    "error": {
      "message": "No users found for the provided emails"
    }
  }
}
```

### 500 Error Interno del Servidor

```json theme={null}
{
  "statusCode": 500,
  "status": "error",
  "message": "Something went wrong while removing employees",
  "data": []
}
```

***

## Como Obtener el Token de Autenticacion de la Organizacion

<Steps>
  <Step title="Iniciar sesion en EazyBe Workspace">
    El administrador de la organizacion debe iniciar sesion en EazyBe Workspace con sus credenciales.
  </Step>

  <Step title="Localizar el Token de Autenticacion">
    En la pagina de la Organizacion, se mostrara el Token de Autenticacion de la Organizacion.
  </Step>

  <Step title="Copiar y usar el token">
    El administrador puede copiar el Token de Autenticacion de la Organizacion y pegarlo en la solicitud de la API.
  </Step>
</Steps>

***

## Codigos de Estado de Respuesta

| Codigo de Estado | Descripcion                                                                              |
| ---------------- | ---------------------------------------------------------------------------------------- |
| 200              | Empleados eliminados exitosamente de la organizacion                                     |
| 400              | Solicitud incorrecta - entrada invalida o campos requeridos faltantes                    |
| 401              | No autorizado - token de acceso invalido o faltante                                      |
| 404              | No encontrado - no se encontraron usuarios para las direcciones de correo proporcionadas |
| 500              | Error interno del servidor - error inesperado del lado del servidor                      |

***

## Notas Importantes

<Note>
  **Que sucede cuando elimina empleados?**

  * Los empleados son eliminados del espacio de trabajo de la organizacion (`callyzer_user_details`)
  * Su membresia en la organizacion es revocada (`callyzer_user_mappings`)
  * Los usuarios **no** son eliminados del sistema por completo - solo se elimina su asociacion con esta organizacion especifica
  * La API procesara todos los correos validos e informara cuales fueron eliminados exitosamente y cuales no fueron encontrados
</Note>

### Exito Parcial

Si algunos correos no se encuentran en el sistema, la API eliminara los empleados que si fueron encontrados y devolvera ambas listas en la respuesta:

* **removedEmails:** Empleados eliminados exitosamente
* **notFoundEmails:** Correos que no existen en el sistema

Esto le permite manejar fallas parciales de manera elegante y saber exactamente que operaciones tuvieron exito.

***

## Practicas de Higiene

<Warning>
  * Siempre use un **Token de Autenticacion de Organizacion valido**
  * No comparta ni exponga su token publicamente
  * Verifique las direcciones de correo electronico antes de realizar llamadas a la API para minimizar `notFoundEmails`
  * Mantenga las credenciales de su organizacion seguras en todo momento
  * Use esta API de manera responsable - los empleados eliminados perderan acceso a los datos de la organizacion
  * Considere implementar un paso de confirmacion en su aplicacion antes de llamar a esta API
  * Almacene la respuesta de la API con fines de auditoria para rastrear quien fue eliminado y cuando
</Warning>

***

## Casos de Uso

* **Automatizacion de Desvinculacion:** Elimine automaticamente empleados cuando dejan la empresa
* **Gestion Masiva de Usuarios:** Elimine varios empleados a la vez durante reestructuraciones organizacionales
* **Integracion con Sistemas de RRHH:** Sincronice eliminaciones de empleados desde su plataforma de RRHH hacia EazyBe
* **Control de Acceso:** Revoque rapidamente el acceso de multiples usuarios en situaciones de emergencia
* **Integracion con Sistemas Externos:** Permita que sistemas de terceros gestionen el acceso de empleados

***

Si tiene alguna pregunta o necesita mas ayuda, no dude en contactarnos en **[hey@eazybe.com](mailto:hey@eazybe.com)**.
