En el esquema vigente de cancelación CFDI establecido por la autoridad, un comprobante no puede ser cancelado si existen CFDI relacionados vigentes asociados a él. En estos casos, el CFDI se mantiene con estatus de NO CANCELABLE hasta que todos los comprobantes relacionados hayan sido previamente cancelados.
Este servicio es una herramienta puesta a disposición del emisor para identificar dichos CFDI relacionados antes de iniciar el proceso de cancelación, permitiendo validar dependencias y evitar rechazos en el proceso.
La consulta puede realizarse mediante distintos métodos de autenticación, dependiendo del tipo de integración y del origen de los comprobantes.

URL´s
https://services.test.sw.com.mx 📄
https://services.sw.com.mx 📄
Relacionados por CSD
Este método permite consultar los CFDI relacionados autenticándose mediante el Certificado de Sello Digital (CSD) del emisor. Está orientado a contribuyentes que requieren validar sus propios CFDI, independientemente del PAC con el que fueron timbrados, antes de ejecutar una cancelación.
🔗 Endpoint
| Método | Ruta |
|---|---|
| POST | /relations/csd |
🔐 Autenticación y Headers
| Header | Value |
|---|---|
| Authorization | Bearer Token |
| Content-Type | application/json |
🧾 Parámetros JSON
| Propiedad | Uso | Descripción |
|---|---|---|
| uuid | Requerido | UUID del comprobante. |
| password | Requerido | Contraseña del certificado. |
| rfc | Requerido | RFC del emisor. |
| b64Cer | Requerido | Certificado del emisor en Base64. |
| b64Key | Requerido | Key del emisor en Base64 |
Ejemplo Request
curl --request POST \
--url https://services.test.sw.com.mx/relations/csd \
--header 'Authorization: Bearer $token' \
--header 'Content-Type: application/json' \
--data '{
"uuid": "d59fd3f1-2082-4759-a237-571ac15ccec2",
"password": "12345678a",
"rfc": "JUFA7608212V6",
"b64Cer": "MIIFmjCCA4KgAwIB....",
"b64Key": "MIIFDjBABgkqhkiG...."'
Ejemplo Response
{
"codStatus": "2000",
"data": {
"uuidConsultado": "d59fd3f1-2082-4759-a237-571ac15ccec2",
"resultado": "WS Consulta CFDI relacionados RfcEmisor: EKU9003173C9 - folio físcal: d59fd3f1-2082-4759-a237-571ac15ccec2 - Clave: 2000 - Se encontraron CFDI relacionados",
"uuidsRelacionadosPadres": [
{
"uuidsRelacionadosPadres": null,
"uuid": "D59FD3F1-2082-4759-A237-571AC15CCEC2",
"rfcEmisor": "EKU9003173C9",
"rfcReceptor": "CACX7605101P8"
}
],
"uuidsRelacionadosHijos": [
{
"uuid": "5A407B0B-ABF6-4222-BBB6-5176AE6EA67D",
"rfcEmisor": "EKU9003173C9",
"rfcReceptor": "URE180429TM6"
}
]
},
"message": "Se encontraron CFDI relacionados. ",
"status": "success"
}
{
"message": "CACFDI33 - Error no controlado",
"messageDetail": "Value cannot be null.\r\nParameter name: s",
"data": null,
"status": "error"
}
| Atributo | Tipo | Descripción |
|---|---|---|
| message | String | Código regresado cuando existe un error. |
| messageDetail | String | Mensaje más descriptivo del error cuando existe uno. |
| data | object/null | Contiene información detallada del CFDI consultado y sus relaciones. Incluye nodos con UUIDs relacionados, emisores y receptores. |
| status | String | “success” o “error” |
| codStatus | String | Código del resultado general de la operación (presente solo en respuesta exitosa). |
Relacionados por PFX
Este método permite realizar la consulta utilizando un archivo PFX del contribuyente. Funciona como una alternativa equivalente al CSD, facilitando la autenticación del emisor para identificar CFDI relacionados dentro del proceso previo a la cancelación.
🔗 Endpoint
| Metodo | Ruta |
|---|---|
| POST | /relations/pfx |
🔐 Autenticación y Headers
| Header | Value |
|---|---|
| Authorization | Bearer Token |
| Content-Type | application/json |
🧾 Parámetros JSON
| Propiedad | Uso | Descripción |
|---|---|---|
| uuid | Requerido | UUID del comprobante. |
| rfc | Requerido | RFC del emisor. |
| b64Pfx | Requerido | Archivo PFX en Base64. |
| password | Requerido | Contraseña del certificado PFX |
Ejemplo Request
curl --request POST \
--url https://services.test.sw.com.mx/relations/pfx \
--header 'Authorization: Bearer $token' \
--header 'Content-Type: application/json' \
--data '{
"uuid": "77e5ee7e-518e-48d1-b719-2562eaf9cb1f",
"password": "12345678a",
"rfc": "LAN7008173R5",
"b64Pfx":"MIIMCQIBAzC....",'
Ejemplo Response
{
"codStatus": "2000",
"data": {
"uuidConsultado": "d59fd3f1-2082-4759-a237-571ac15ccec2",
"resultado": "WS Consulta CFDI relacionados RfcEmisor: EKU9003173C9 - folio físcal: d59fd3f1-2082-4759-a237-571ac15ccec2 - Clave: 2000 - Se encontraron CFDI relacionados",
"uuidsRelacionadosPadres": [
{
"uuidsRelacionadosPadres": null,
"uuid": "D59FD3F1-2082-4759-A237-571AC15CCEC2",
"rfcEmisor": "EKU9003173C9",
"rfcReceptor": "CACX7605101P8"
}
],
"uuidsRelacionadosHijos": [
{
"uuid": "5A407B0B-ABF6-4222-BBB6-5176AE6EA67D",
"rfcEmisor": "EKU9003173C9",
"rfcReceptor": "URE180429TM6"
}
]
},
"message": "Se encontraron CFDI relacionados. ",
"status": "success"
}
{
"message": "CACFDI33 - Error no controlado",
"messageDetail": "Value cannot be null.\r\nParameter name: s",
"data": null,
"status": "error"
}
| Atributo | Tipo | Descripción |
|---|---|---|
| message | String | Código regresado cuando existe un error. |
| messageDetail | String | Mensaje más descriptivo del error cuando existe uno. |
| data | object/null | Contiene información detallada del CFDI consultado y sus relaciones. Incluye nodos con UUIDs relacionados, emisores y receptores. |
| status | String | “success” o “error” |
| codStatus | String | Código del resultado general de la operación (presente solo en respuesta exitosa). |
Relacionados por UUID
Este método está diseñado para emisores que ya han registrado previamente sus CSD en el portal ADT y cuyos CFDI fueron timbrados con nosotros. Permite consultar CFDI relacionados directamente a partir del UUID del comprobante, así como el RFC, simplificando la validación previa a la cancelación dentro del ecosistema del PAC.
🔗 Endpoint
| Método | Ruta |
|---|---|
| POST | /relations/{rfc}/{uuid} |
🔐 Autenticación y Headers
| Header | Value |
|---|---|
| Authorization | Bearer Token |
📍 Parámetros Path
| Propiedad | Uso | Descripción |
|---|---|---|
| rfc | requerido | rfc del emisor |
| uuid | requerido | UUID del comprobante |
Ejemplo Request
curl --location --globoff --request POST '{{url_services}}/relations/EKU9003173C9/d59fd3f1-2082-4759-a237-571ac15ccec2' \
--header 'Authorization: bearer {{token}}'
Ejemplo Response
{
"codStatus": "2000",
"data": {
"uuidConsultado": "d59fd3f1-2082-4759-a237-571ac15ccec2",
"resultado": "WS Consulta CFDI relacionados RfcEmisor: EKU9003173C9 - folio físcal: d59fd3f1-2082-4759-a237-571ac15ccec2 - Clave: 2000 - Se encontraron CFDI relacionados",
"uuidsRelacionadosPadres": [
{
"uuidsRelacionadosPadres": null,
"uuid": "D59FD3F1-2082-4759-A237-571AC15CCEC2",
"rfcEmisor": "EKU9003173C9",
"rfcReceptor": "CACX7605101P8"
}
],
"uuidsRelacionadosHijos": [
{
"uuid": "5A407B0B-ABF6-4222-BBB6-5176AE6EA67D",
"rfcEmisor": "EKU9003173C9",
"rfcReceptor": "URE180429TM6"
}
]
},
"message": "Se encontraron CFDI relacionados. ",
"status": "success"
}
{
"message": "CACFDI33 - Error no controlado",
"messageDetail": "El UUID proporcionado inválido. Favor de verificar.",
"data": null,
"status": "error"
}
| Atributo | Tipo | Descripción |
|---|---|---|
| message | String | Código regresado cuando existe un error. |
| messageDetail | String | Mensaje más descriptivo del error cuando existe uno. |
| data | object/null | Contiene información detallada del CFDI consultado y sus relaciones. Incluye nodos con UUIDs relacionados, emisores y receptores. |
| status | String | “success” o “error” |
| codStatus | String | Código del resultado general de la operación (presente solo en respuesta exitosa). |