Skip to content

HTTP 500 (gRPC error 420 UNKNOWN) when calling /api/sendImage [GoWSPlus] #2124

Description

@mateusangelo

Description

I am consistently facing an HTTP 500 error with an underlying gRPC error 420 UNKNOWN when trying to send images using the /api/sendImage endpoint.

This seems to happen under the GoWSPlus engine. Has anyone encountered this or knows what triggers the 420 status code from the server side?

Environment

  • WAHA Version: GOWS (2026.5.1 PLUS)
  • Engine: GoWS
  • Deployment: Docker

Steps to Reproduce

  1. Call /api/sendImage with a valid payload.
  2. The request fails after a short delay (~580ms).
  3. The server returns HTTP 500.

Expected Behavior

The image should be sent successfully, returning an HTTP 201/200 status.

Actual Behavior

The API returns an HTTP 500 internal server error due to a gRPC upstream error 420.

Logs

{
  "level": 30,
  "time": 1781886880104,
  "pid": 7,
  "hostname": "waha",
  "reqId": 20133,
  "req": {
    "id": 20133,
    "method": "POST",
    "url": "/api/sendImage",
    "query": {},
    "params": {
      "path": [
        "api",
        "sendImage"
      ]
    }
  },
  "res": {
    "statusCode": 500
  },
  "err": {
    "type": "Error",
    "message": "2 UNKNOWN: server returned error 420",
    "stack": "Error: 2 UNKNOWN: server returned error 420\n    at callErrorFromStatus (/app/node_modules/@grpc/grpc-js/build/src/call.js:32:19)\n    at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client.js:193:76)\n    at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:367:141)\n    at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:327:181)\n    at /app/node_modules/@grpc/grpc-js/build/src/resolving-call.js:135:78\n    at process.processTicksAndRejections (node:internal/process/task_queues:84:11)\nfor call at\n    at MessageServiceClient.makeUnaryRequest (/app/node_modules/@grpc/grpc-js/build/src/client.js:161:32)\n    at MessageServiceClient.SendMessage (/app/node_modules/@grpc/grpc-js/build/src/make-client.js:105:19)\n    at MessageServiceClient.SendMessage (/app/dist/core/engines/gows/grpc/gows.js:10542:30)\n    at node:internal/util:495:21\n    at new Promise (<anonymous>)\n    at node:internal/util:481:12\n    at /app/dist/plus/engines/gows/session.gows.plus.js:212:82\n    at async TmpDir.use (/app/dist/utils/tmpdir.js:22:20)\n    at async WhatsappSessionGoWSPlus.sendMedia (/app/dist/plus/engines/gows/session.gows.plus.js:202:16)\n    at async WhatsappSessionGoWSPlus.sendImage (/app/dist/plus/engines/gows/session.gows.plus.js:218:16)\n    at async descriptor.value (/app/dist/core/abc/activity.js:9:20)",
    "code": 2,
    "details": "server returned error 420",
    "metadata": {
      "content-type": [
        "application/grpc"
      ]
    }
  },
  "responseTime": 580,
  "msg": "request errored"
}

[![patron:PLUS](https://img.shields.io/badge/patron-PLUS-a0e6ba)](https://waha.devlike.pro/docs/how-to/plus-version/#tiers)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions