# Obtener los detalles de una retención de impuestos

Obtén los detalles de una retención de impuestos específica.

Endpoint: GET /api/tax-retentions/{id}/
Version: 1.223.0
Security: basicAuth

## Path parameters:

  - `id` (string, required)
    El tax-retention.id sobre el cual deseas obtener información detallada.

## Query parameters:

  - `omit` (string)
    Omite ciertos campos para que no se devuelvan en la respuesta. Para más información, consulta nuestro artículo del DevPortal Filtrando respuestas.

  - `fields` (string)
    Devuelve solo los campos especificados en la respuesta. Para obtener más información, consulta nuestro artículo del DevPortal Filtrando respuestas.

## Response 200 fields (application/json):

  - `id` (string)
    Identificador único de Belvo para el elemento actual.
    Example: "0d3ffb69-f83b-456e-ad8e-208d0998d71d"

  - `link` (string,null)
    El link.id al que pertenecen los datos.
    Example: "30cb4806-6e00-48a4-91c9-ca55968576c8"

  - `collected_at` (string, required)
    La marca de tiempo ISO-8601 cuando se recopiló el punto de datos.
    Example: "2022-02-09T08:45:50.406032Z"

  - `created_at` (string)
    La marca de tiempo ISO-8601 de cuando se creó el punto de datos en la base de datos de Belvo.
    Example: "2022-02-09T08:45:50.406032Z"

  - `invoice_identification` (string,null, required)
    El ID único de la institución fiscal para la factura a la que se refiere la retención de impuestos.
    Example: "def404af-5eef-4112-aa99-d1ec8493b89a"

  - `version` (string,null, required)
    La versión CFDI de las retenciones de impuestos.
    Example: "1.0"

  - `code` (integer,null, required)
    El código de retención de impuestos. Para obtener más información, consulta nuestro artículo del DevPortal sobre los catálogos del SAT.
    Example: 25

  - `issued_at` (string,null, required)
    La marca de tiempo ISO-8601 de cuando se emitió la retención de impuestos.
    Example: "2019-01-03T21:10:40.000Z"

  - `certified_at` (string,null, required)
    La marca de tiempo ISO-8601 de cuando se certificó la retención de impuestos.
    Example: "2019-01-03T21:10:41.000Z"

  - `cancelled_at` (string,null, required)
    La marca de tiempo ISO-8601 de cuando se canceló la retención de impuestos (si corresponde).

  - `sender_id` (string,null, required)
    El ID fiscal del remitente de la factura.
    Example: "JKUF980404P0"

  - `sender_name` (string,null, required)
    El nombre del remitente de la factura.
    Example: "Roberto Nunez Batman"

  - `receiver_nationality` (string,null, required)
    Si el receptor de la factura es un nacional mexicano o no. Si el receptor no se considera un nacional mexicano, los impuestos retenidos pueden calcularse de manera diferente. Valores posibles:
  - NATIONAL
  - FOREIGN
    Enum: "NATIONAL", "FOREIGN"

  - `receiver_id` (string,null, required)
    El ID fiscal del receptor de la factura.
    Example: "GYGK3207809L1"

  - `receiver_name` (string,null, required)
    El nombre del receptor de la factura.
    Example: "ACME LTD"

  - `total_invoice_amount` (number,null, required)
    El monto total de la factura al que se refiere la retención de impuestos.
    Example: 53249.8

  - `total_exempt_amount` (number,null, required)
    Cantidad total que está exenta de impuestos.
    Example: 1000.8

  - `total_retained_amount` (number,null, required)
    Total de impuestos retenidos.
    Example: 1550.7

  - `total_taxable_amount` (number,null, required)
    El monto total que se puede gravar. Se calcula como total_invoice_amount - total_exempt_amount.
    Example: 43249

  - `retention_breakdown` (array,null, required)
    Un desglose de los impuestos retenidos.

  - `retention_breakdown.base_amount` (number,null, required)
    El monto base que se utilizó para calcular la retención de impuestos.
    Example: 0.03

  - `retention_breakdown.tax_type` (string,null, required)
    Atributo opcional para indicar el tipo de impuesto retenido para el período o año según el catálogo del SAT.
    Example: "01"

  - `retention_breakdown.retained_amount` (number,null, required)
    El monto retenido.

  - `retention_breakdown.payment_status` (string,null, required)
    Indica si el impuesto ha sido pagado o no. Puede ser:
  - PAID
  - PROVISIONED
    Enum: "PAID", "PROVISIONED"

  - `xml` (string,null, required)
    El documento de retención de impuestos en formato XML.
    Example: "=XML-STRING="

## Response 403 fields (application/json):

  - `code` (string)
    Un código de error único (access_to_resource_denied) que te permite clasificar y manejar el error de manera programática.

ℹ️ Consulta nuestro DevPortal para obtener más información sobre cómo manejar 403 access_to_resource_denied.
    Example: "access_to_resource_denied"

  - `message` (string)
    Una breve descripción del error.

Para los errores access_to_resource_denied, la descripción es:

  - You don't have access to this resource..
    Example: "You don't have access to this resource."

  - `request_id` (string)
    Un ID único de 32 caracteres de la solicitud (que coincide con un patrón regex de: [a-f0-9]{32}). Proporcione este ID al contactar al equipo de soporte de Belvo para acelerar las investigaciones.
    Example: "9e7b283c6efa449c9c028a16b5c249fb"

## Response 404 fields (application/json):

  - `code` (string)
    Un código de error único (not_found) que te permite clasificar y manejar el error de manera programática.
    Example: "not_found"

  - `message` (string)
    Una breve descripción del error.

Para errores not_found, la descripción es:

  - Not found
    Example: "Not found"

  - `request_id` (string)
    Un ID único de 32 caracteres de la solicitud (que coincide con un patrón regex de: [a-f0-9]{32}). Proporcione este ID al contactar al equipo de soporte de Belvo para acelerar las investigaciones.
    Example: "9e7b283c6efa449c9c028a16b5c249fb"

## Response 408 fields (application/json):

  - `code` (string)
    Un código de error único (request_timeout) que te permite clasificar y manejar el error de manera programática.

ℹ️ Consulta nuestro DevPortal para obtener más información sobre cómo manejar errores 408 request_timeout.
    Example: "request_timeout"

  - `message` (string)
    Una breve descripción del error.

Para los errores de request_timeout, la descripción es:

  - The request timed out, you can retry asking for less data by changing your query parameters.
    Example: "The request timed out, you can retry asking for less data by changing your query parameters"

  - `request_id` (string)
    Un ID único de 32 caracteres de la solicitud (que coincide con un patrón regex de: [a-f0-9]{32}). Proporcione este ID al contactar al equipo de soporte de Belvo para acelerar las investigaciones.
    Example: "9e7b283c6efa449c9c028a16b5c249fb"

## Response 428 fields (application/json):

  - `code` (string)
    Un código de error único (token_required) que te permite clasificar y manejar el error de forma programática. ℹ️ Consulta nuestro DevPortal para obtener más información sobre cómo manejar errores 428 token_required.
    Example: "token_required"

  - `message` (string)
    Una breve descripción del error. 
Para los errores token_required, la descripción es:

  - A MFA token is required by the institution to login.
    Example: "A MFA token is required by the institution to login"

  - `request_id` (string)
    Un ID único de 32 caracteres de la solicitud (que coincide con un patrón regex de: [a-f0-9]{32}). Proporcione este ID al contactar al equipo de soporte de Belvo para acelerar las investigaciones.
    Example: "9e7b283c6efa449c9c028a16b5c249fb"

  - `session` (string)
    Un ID único de 32 caracteres de la sesión de inicio de sesión (que coincide con un patrón de regex de: [a-f0-9]{32}).
    Example: "2675b703b9d4451f8d4861a3eee54449"

  - `expiry` (integer)
    Tiempo de duración de la sesión en segundos.
    Example: 9600

  - `link` (string)
    Identificador único creado por Belvo, utilizado para referenciar el Link actual.
    Example: "30cb4806-6e00-48a4-91c9-ca55968576c8"

  - `token_generation_data` (object)
    Detalles sobre cómo generar el token.

  - `token_generation_data.instructions` (string)
    Instrucciones para la generación de tokens.
    Example: "Use this code to generate the token"

  - `token_generation_data.type` (string)
    Tipo de datos para generar el token (código QR, desafío numérico).
    Example: "numeric"

  - `token_generation_data.value` (string)
    Valor a utilizar para generar el token.
    Example: "12345"

  - `token_generation_data.expects_user_input` (boolean)
    Indica si el usuario necesita proporcionar información para completar la autenticación. Cuando se establece en false, es posible que su usuario necesite:
- confirmar el inicio de sesión en otro dispositivo
- escanear un código QR
Aún necesitará realizar una llamada PATCH para completar la solicitud.
    Example: true

## Response 500 fields (application/json):

  - `code` (string)
    Un código de error único (unexpected_error) que te permite clasificar y manejar el error de manera programática.

ℹ️ Consulta nuestro DevPortal para obtener más información sobre cómo manejar errores 500 unexpected_error.
    Example: "unexpected_error"

  - `message` (string)
    Una breve descripción del error.

Para los errores unexpected_error, la descripción es:

- Belvo no puede procesar la solicitud debido a un problema interno del sistema o a una respuesta no soportada de una institución.
    Example: "Belvo is unable to process the request due to an internal system issue or to an unsupported response from an institution"

  - `request_id` (string)
    Un ID único de 32 caracteres de la solicitud (que coincide con un patrón regex de: [a-f0-9]{32}). Proporcione este ID al contactar al equipo de soporte de Belvo para acelerar las investigaciones.
    Example: "9e7b283c6efa449c9c028a16b5c249fb"


