Saltar al contenido principal

Invitar Usuario

Invita a un usuario a una organización con un rol específico. Si el usuario no existe, se crea automáticamente y se le envía un email con las credenciales.

Endpoint

POST https://api.lummy.io/v1/organizations/{organizationId}/users/invite
EntornoURL
Producciónhttps://api.lummy.io/v1/organizations/{organizationId}/users/invite
Sandboxhttps://sandbox.lummy.io/v1/organizations/{organizationId}/users/invite

Path Parameters

Path Parameters
{
"organizationId": stringrequerido
Identificador único de la organización en formato UUID a la cual se invitará al usuario. El usuario autenticado debe tener permisos de administración sobre esta organización para poder invitar a otros usuarios.
Formato: uuid
Ejemplo: "550e8400-e29b-41d4-a716-446655440000"
}

Headers

Headers
{
"Authorization": stringrequerido
Token de autenticación en formato Bearer (JWT) que valida la identidad del usuario. Este token debe ser enviado en cada petición para acceder a los recursos protegidos de la API. El usuario debe tener permisos de administración en la organización para poder invitar usuarios.
Ejemplo: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Body Parameters

Request Body
{
"email": string,requerido
Dirección de correo electrónico del usuario a invitar. Debe ser una dirección de email válida. Si el usuario con este email ya existe en el sistema, se le agregará a la organización con el rol especificado. Si no existe, se creará una nueva cuenta y se le enviará un correo con las credenciales de acceso.
Formato: email
Ejemplo: "nuevo.usuario@empresa.com"
"name": string,requerido
Nombre completo del usuario a invitar. Este campo es obligatorio y se utilizará para identificar al usuario en la plataforma y en las comunicaciones por correo electrónico.
Longitud: 1-255 caracteres
Ejemplo: "Juan Pérez"
"role": string,requerido
Rol que se asignará al usuario dentro de la organización. Los roles predefinidos son: owner (control total de la organización), admin (puede administrar usuarios y configuraciones), user (solo puede emitir facturas). También puedes usar custom si deseas asignar un rol personalizado especificado en customRoleId.
Valores permitidos: "owner""admin""user""custom"
Ejemplo: "user"
"customRoleId": stringopcional
Identificador único en formato UUID de un rol personalizado. Este campo es opcional y solo debe proporcionarse cuando el campo role tiene el valor custom. Los roles personalizados permiten definir permisos específicos más allá de los roles predefinidos.
Formato: uuid
Ejemplo: "123e4567-e89b-12d3-a456-426614174000"
}

Ejemplos de Código

curl -X POST https://sandbox.lummy.io/organizations/${ORG_ID}/users/invite \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-d '{
"email": "nuevo.usuario@empresa.com",
"name": "Juan Perez",
"role": "user"
}'

Respuestas

Todas las respuestas siguen el formato estándar StandardResponse.

201 Created

Usuario invitado exitosamente.

{
"requestId": "abc123-def456",
"data": {
"userId": "550e8400-e29b-41d4-a716-446655440000",
"email": "nuevo.usuario@empresa.com",
"role": "user",
"status": "invited",
"message": "Usuario invitado exitosamente. Se ha enviado un email con las credenciales."
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/organizations/org-uuid/users/invite",
"method": "POST"
}

201 Created (Usuario Existente)

Usuario existente agregado a la organización.

{
"requestId": "abc123-def456",
"data": {
"userId": "550e8400-e29b-41d4-a716-446655440000",
"email": "usuario.existente@empresa.com",
"role": "admin",
"status": "existing_user_added",
"message": "Usuario agregado a la organizacion exitosamente."
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/organizations/org-uuid/users/invite",
"method": "POST"
}

400 Bad Request

Datos de invitación inválidos.

{
"requestId": "abc123-def456",
"error": {
"message": "El email es requerido",
"code": "ValidationError",
"status": 400
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/organizations/org-uuid/users/invite",
"method": "POST"
}

403 Forbidden

No tienes permisos para invitar usuarios.

{
"requestId": "abc123-def456",
"error": {
"message": "No tienes permisos para invitar usuarios a esta organizacion",
"code": "ForbiddenException",
"status": 403
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/organizations/org-uuid/users/invite",
"method": "POST"
}

409 Conflict

El usuario ya es miembro de la organización.

{
"requestId": "abc123-def456",
"error": {
"message": "El usuario ya es miembro de esta organizacion",
"code": "ConflictException",
"status": 409
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/organizations/org-uuid/users/invite",
"method": "POST"
}