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

# Crear reclamo con comprobante adjunto

> Crea un reclamo con la evidencia del comprobante de transferencia adjunta como PDF o JPEG codificado en base64.
Todos los campos de metadatos deben enviarse de forma explícita; la API no analiza ni extrae datos del archivo.
Las llamadas ADMIN deben incluir `accountId`. Las llamadas USER pueden omitir `accountId` o asociar el reclamo solo a su propia cuenta.
Requiere que la función Reclamos (`canAccessClaims`) esté habilitada para quien llama.




## OpenAPI

````yaml /api-reference/openapi.es.yaml post /claims
openapi: 3.1.0
info:
  title: HG.Cash API
  description: >
    # 🚀 API de transacciones HG.Cash


    API REST moderna para que los usuarios creen transacciones de salida desde
    sus cuentas.


    ## 🧾 Cómo funciona


    - HG.Cash asigna cuentas a su usuario

    - Cuando estas cuentas tienen movimientos (entrada o salida), HG.Cash
    notificará su backend usando la URL de webhook que configure en el panel de
    HG.Cash

    - **Firma de webhooks (HMAC)**: En la configuración de la cuenta puede
    generar un secreto de firma. Cuando está configurado, cada POST de webhook
    incluye el encabezado `X-HG-Webhook-Signature: sha256=<hex>` donde el valor
    es HMAC-SHA256 del cuerpo JSON sin procesar usando su secreto. Verifíquelo
    en su endpoint para asegurar que la solicitud es auténtica.

    - Para crear retiros (dinero que sale de sus cuentas), debe llamar al
    endpoint **Cash Out**: **Crear solicitud de transacción** (`POST
    /transactions`)


    ## 📊 Primeros pasos


    1. **Genere su token de API** en la página de configuración de la cuenta

    2. **Pruebe los endpoints** usando la documentación interactiva a
    continuación

    3. **Implemente** en sus servicios de backend (nunca exponga tokens en el
    frontend)

    4. **Supervise** su integración y maneje los errores adecuadamente


    ## 🔐 Autenticación


    Esta API usa autenticación **Bearer Token**. Incluya el token de API del
    usuario en el encabezado Authorization, por ejemplo `Authorization: Bearer
    cash_your_token_here`.


    ## ⚠️ Notas importantes de seguridad


    - Nunca comparta ni exponga su token de autenticación de API de usuario

    - Almacene los tokens de forma segura solo en sus servidores de backend

    - Todas las llamadas a la API deben realizarse desde servicios de backend
    seguros

    - Contacte a los administradores inmediatamente si su token se ve
    comprometido
  version: 1.0.0
  contact:
    name: HG.Cash API Support
    email: api-support@hg.cash
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://hg.cash/api/v1
    description: Servidor de producción
  - url: http://dev.hg.cash/api/v1
    description: Servidor de desarrollo
security:
  - bearerAuth: []
tags:
  - name: Transacciones
    description: >-
      Gestión de transacciones - Crear y administrar transacciones en el sistema
      HG.Cash. Todos los endpoints de transacciones requieren autenticación.
  - name: Cuentas
    description: >-
      Cuentas - Obtener información de cuentas y saldos del usuario autenticado.
      Todos los endpoints de cuentas requieren autenticación.
  - name: Datos de referencia
    description: >-
      Datos de referencia - Obtener datos de referencia como estados y tipos de
      transacción. Estos endpoints requieren autenticación.
  - name: Webhooks
    description: Webhooks - Notificaciones de eventos enviadas a su endpoint HTTP.
  - name: Brasil
    description: Brasil — Crear y consultar transacciones PIX (BRL).
  - name: Chile
    description: Chile — Checkout hospedado y payouts bancarios (CLP).
  - name: Bolivia
    description: Bolivia — Cash-in con QR y payouts ACH (BOB).
  - name: Checkouts
    description: Sesiones de checkout hospedado para AR, BR, CL y BO
  - name: Claims
    description: Reclamos con evidencia de comprobante de transferencia
paths:
  /claims:
    post:
      tags:
        - Claims
      summary: Crear reclamo con comprobante adjunto
      description: >
        Crea un reclamo con la evidencia del comprobante de transferencia
        adjunta como PDF o JPEG codificado en base64.

        Todos los campos de metadatos deben enviarse de forma explícita; la API
        no analiza ni extrae datos del archivo.

        Las llamadas ADMIN deben incluir `accountId`. Las llamadas USER pueden
        omitir `accountId` o asociar el reclamo solo a su propia cuenta.

        Requiere que la función Reclamos (`canAccessClaims`) esté habilitada
        para quien llama.
      operationId: createClaim
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateClaimRequest'
            example:
              accountId: 550e8400-e29b-41d4-a716-446655440123
              from: Juan Pérez
              to: Mi cuenta HG
              operationNumber: '987654321'
              coelsaCode: 67REZ8NPQDQ460QK94KVGO
              amount: 1500
              currency: ARS
              file:
                contentBase64: <bytes de PDF o imagen en base64>
                mimeType: application/pdf
                filename: comprobante.pdf
      responses:
        '201':
          description: Creado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateClaimResponse'
        '400':
          description: >-
            Error de validación (campos inválidos, base64, tipo MIME o archivo
            demasiado grande)
        '401':
          description: No autorizado
        '403':
          description: >-
            Prohibido — función de reclamos deshabilitada o cuenta fuera de
            alcance
        '404':
          description: Cuenta no encontrada
        '429':
          description: Límite de tasa excedido
        '500':
          description: Error interno del servidor
components:
  schemas:
    CreateClaimRequest:
      type: object
      description: >
        Datos para crear un reclamo con el comprobante de transferencia adjunto.
        Todos los metadatos se envían de forma explícita; la API no analiza ni
        extrae datos del archivo.
      required:
        - from
        - to
        - operationNumber
        - coelsaCode
        - amount
        - currency
        - file
      properties:
        accountId:
          type: string
          format: uuid
          description: >-
            Obligatorio para llamadas ADMIN; opcional para USER (asocia el
            reclamo solo a tu propia cuenta).
          example: 550e8400-e29b-41d4-a716-446655440123
        from:
          type: string
          description: Cuenta de origen o nombre del pagador según el comprobante.
          example: Juan Pérez
        to:
          type: string
          description: Nombre de la cuenta de destino según el comprobante.
          example: Mi cuenta HG
        operationNumber:
          type: string
          description: Número de operación bancaria del comprobante.
          example: '987654321'
        coelsaCode:
          type: string
          pattern: ^[A-Z0-9]{22}$
          description: >-
            Código de identificación COELSA (exactamente 22 caracteres
            alfanuméricos en mayúsculas).
          example: 67REZ8NPQDQ460QK94KVGO
        amount:
          oneOf:
            - type: number
            - type: string
          description: Monto positivo con como máximo 2 decimales.
          example: 1500
        currency:
          type: string
          enum:
            - ARS
            - USD
            - USDT
          example: ARS
        file:
          type: object
          required:
            - contentBase64
            - mimeType
            - filename
          properties:
            contentBase64:
              type: string
              description: >-
                Bytes de PDF o JPEG codificados en base64 (máx. 10 MB
                decodificado). Se elimina automáticamente un prefijo `data:`.
              example: <bytes de PDF o imagen en base64>
            mimeType:
              type: string
              enum:
                - application/pdf
                - image/jpeg
                - image/jpg
              example: application/pdf
            filename:
              type: string
              description: >-
                Nombre de archivo original; la extensión debe coincidir con
                `mimeType`.
              example: comprobante.pdf
    CreateClaimResponse:
      type: object
      required:
        - id
        - status
        - operationNumber
        - coelsaCode
        - amount
        - currency
        - extractedData
        - originalFilename
        - mimeType
        - createdAt
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - OPEN
            - UNDER_REVIEW
            - RESOLVED
            - REJECTED
        accountId:
          type: string
          format: uuid
          nullable: true
        operationNumber:
          type: string
        coelsaCode:
          type: string
        amount:
          type: string
          description: Monto decimal con 2 decimales.
          example: '1500.00'
        currency:
          type: string
          enum:
            - ARS
            - USD
            - USDT
        extractedData:
          type: object
          properties:
            from:
              type: string
              nullable: true
            to:
              type: string
              nullable: true
        originalFilename:
          type: string
        mimeType:
          type: string
        createdAt:
          type: string
          format: date-time
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Token de autenticación de API de usuario con formato
        `cash_<64-char-hex>`. Valor de ejemplo
        `cash_16cdc3b6f83c72d9d2680adca4f430962981f6bf32613a129dded0aa060387d2`.

````