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

# Agregar un recurso a un DTE recibido



## OpenAPI

````yaml /api-reference/openapi.json post /recibidos/dte/{id}/recurso
openapi: 3.1.0
info:
  title: Fegora API
  version: '1.0'
  description: >-
    API de Fegora para la emisión y consulta de Documentos Tributarios
    Electrónicos (DTE) en Guatemala, El Salvador y República Dominicana.


    El API es uno solo para los tres países: el país de operación lo determina
    la configuración de la cuenta emisora (no la URL ni ningún parámetro de la
    solicitud). Los campos que varían por país — tipos de documento, catálogos
    de impuestos, identificadores fiscales del receptor, datos adicionales — se
    documentan en la descripción de cada campo.


    Autenticación: OAuth2 (`POST /token`, grant types `password` y
    `refresh_token`) → JWT Bearer con vigencia de 24 horas.
servers:
  - url: https://api.fegora.com
security:
  - bearerAuth: []
tags:
  - name: Autenticación
    description: Obtención y renovación de tokens de acceso.
  - name: DTE
    description: Emisión, consulta, anulación y distribución de documentos emitidos.
  - name: DTE Recibidos
    description: Documentos donde la cuenta es el receptor (facturas de proveedores).
  - name: Lotes
    description: Carga masiva de DTEs mediante archivos Excel.
  - name: Cuentas
    description: Administración de cuentas emisoras/receptoras.
  - name: Catálogos
    description: >-
      Catálogos de referencia: productos, plantillas de PDF, localidades y
      contribuyentes.
  - name: Otros
    description: Endpoints de soporte, como el perfil del usuario autenticado.
paths:
  /recibidos/dte/{id}/recurso:
    post:
      tags:
        - DTE Recibidos
      summary: Agregar un recurso a un DTE recibido
      operationId: postRecibidosDteByidRecurso
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddRecursoRequest'
            examples:
              url:
                summary: Adjuntar una URL
                value:
                  tipo: url
                  uri: https://ejemplo.com/comprobante-pago.pdf
                  descripcion: Comprobante de pago
      responses:
        '200':
          description: Recurso agregado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Recurso'
              examples:
                ok:
                  value:
                    tipo: url
                    uri: https://ejemplo.com/comprobante-pago.pdf
                    descripcion: Comprobante de pago
        '400':
          description: Solicitud inválida.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                noExiste:
                  summary: El documento no existe
                  value:
                    codigo: FEG_DET_OBTE_INEX
                    mensaje: >-
                      El documento que solicita no existe o no tiene permisos
                      suficientes para obtenerlo
                    masInformacion: https://developer.fegora.com
                    severidad: 2
                tipoInvalido:
                  summary: tipo de recurso inválido o campo requerido faltante
                  value:
                    codigo: FEG_DTE_INVALID_OPERATION
                    mensaje: 'Tipo de recurso ''xxx'' no válido. Use: archivo, url, dte'
                    masInformacion: https://developer.fegora.com
                    severidad: 2
      security: []
components:
  schemas:
    AddRecursoRequest:
      type: object
      description: Agrega un recurso (archivo, URL o referencia a otro DTE) a un documento.
      properties:
        tipo:
          type: string
          enum:
            - archivo
            - url
            - dte
        uri:
          type: string
          description: 'Requerido cuando `tipo` es `url`. Alias: `url`.'
        url:
          type: string
          description: Alias de `uri`.
        idDteRelacionado:
          type: string
          description: Requerido cuando `tipo` es `dte`.
        descripcion:
          type: string
        archivoStringBase64:
          type: string
          description: >-
            Contenido del archivo en base64. Requerido cuando `tipo` es
            `archivo`.
        nombreArchivo:
          type: string
          description: Requerido cuando `tipo` es `archivo`.
      required:
        - tipo
    Recurso:
      type: object
      properties:
        tipo:
          type: string
          enum:
            - archivo
            - url
            - dte
        archivoUri:
          type: string
        uri:
          type: string
        idDteRelacionado:
          type: string
        descripcion:
          type: string
      required:
        - tipo
    Error:
      type: object
      description: Formato estándar de error de Fegora. Se usa en toda respuesta 4xx.
      properties:
        codigo:
          type: string
          description: >-
            Código de error interno de Fegora (p. ej. `FEG_VALIDATION_ERROR`,
            `FEG_DTE_CREA_001`). Ver la tabla de códigos de error en la guía de
            introducción.
          examples:
            - FEG_VALIDATION_ERROR
        mensaje:
          type: string
          description: Mensaje descriptivo del error, en español.
        masInformacion:
          type: string
          format: uri
          description: Enlace a documentación adicional sobre el error.
          examples:
            - https://developer.fegora.com
        severidad:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 3
          description: 0 = Sugerencia, 1 = Advertencia, 2 = Error, 3 = Fatal.
      required:
        - codigo
        - mensaje
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````