Saltar al contenido principal

Crear Organización

Registra una nueva organización en Lummy para comenzar a emitir facturas.

Endpoint

POST https://api.lummy.io/v1/organizations
EntornoURL
Producciónhttps://api.lummy.io/v1/organizations
Sandboxhttps://sandbox.lummy.io/v1/organizations

Headers

Headers
{
"Authorization": string,requerido
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.
Ejemplo: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
"x-idempotency": stringrequerido
Identificador único en formato UUID v7 utilizado para garantizar la idempotencia de la operación. Si se envía el mismo UUID en una petición posterior, el sistema devolverá el resultado de la primera operación sin crear un registro duplicado.
Formato: uuid
Ejemplo: "01936ff8-9c6a-7b2e-8000-123456789abc"
}

Body Parameters

Request Body
{
"name": string,requerido
Nombre comercial de la organización con el cual será identificada en el sistema. Este campo es obligatorio y debe contener al menos un carácter.
Longitud: 1-255 caracteres
Ejemplo: "Mi Empresa S.A. de C.V."
"legalName": string,opcional
Razón social completa de la organización según conste en el Registro Federal de Contribuyentes del SAT. Este campo es opcional y se utiliza cuando la razón social difiere del nombre comercial.
Longitud máxima: 255 caracteres
Ejemplo: "Mi Empresa Sociedad Anónima de Capital Variable"
"rfc": string,requerido
Registro Federal de Contribuyentes asignado por el SAT. Debe ser un RFC válido con formato de 12 caracteres para personas morales (3 letras, 6 dígitos, 3 caracteres alfanuméricos) o 13 caracteres para personas físicas (4 letras, 6 dígitos, 3 caracteres alfanuméricos).
Longitud: 12-13 caracteres · Patrón: ^[A-ZÑ&]{3,4}\d{6}[A-Z0-9]{3}$
Ejemplo: "XAXX010101000"
"taxRegime": string,requerido
Clave del régimen fiscal al que está sujeta la organización según el catálogo c_RegimenFiscal del SAT. Este valor debe corresponder a un régimen fiscal válido y vigente.
Catálogo SAT: c_RegimenFiscal
Ejemplo: "601"
"zipCode": stringrequerido
Código postal del domicilio fiscal de la organización registrado ante el SAT. Debe ser un código postal válido de México compuesto por exactamente 5 dígitos numéricos.
Longitud exacta: 5 caracteres · Patrón: ^\d{5}$
Ejemplo: "12345"
}

Ejemplos de Código

curl -X POST https://sandbox.lummy.io/organizations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-idempotency: $(uuidgen)" \
-d '{
"name": "Mi Empresa S.A. de C.V.",
"legalName": "Mi Empresa S.A. de C.V.",
"rfc": "XAXX010101000",
"taxRegime": "601",
"zipCode": "12345"
}'
Variables de entorno

Define ACCESS_TOKEN en tu shell:

export ACCESS_TOKEN="your-access-token"

El ACCESS_TOKEN se obtiene después de que el usuario se autentica en la plataforma Lummy.

Respuestas

Todas las respuestas siguen el formato estándar StandardResponse.

201 Created

Organización creada exitosamente.

{
"requestId": "abc123-def456",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Mi Empresa S.A. de C.V.",
"legalName": "Mi Empresa S.A. de C.V.",
"rfc": "XAXX010101000",
"taxRegime": "601",
"zipCode": "12345",
"isActive": true,
"createdAt": "2025-01-15T10:30:00.000Z"
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/organizations",
"method": "POST"
}

409 Conflict

Ya existe una organización con el mismo RFC.

{
"requestId": "abc123-def456",
"error": {
"message": "Ya existe una organización con el RFC: XAXX010101000",
"code": "ConflictException",
"status": 409
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/organizations",
"method": "POST"
}

400 Bad Request

Datos inválidos (RFC mal formado, CP incorrecto, etc).

{
"requestId": "abc123-def456",
"error": {
"message": "RFC inválido: debe tener 12 o 13 caracteres",
"code": "ValidationError",
"status": 400
},
"timestamp": "2025-01-15T10:30:00.000Z",
"path": "/organizations",
"method": "POST"
}