Skip to content

[Question] Why Are API Response Structures Inconsistent Across Engines and Versions? #1490

@yusoft-app

Description

@yusoft-app

Hi WAHA Team 👋

I’m opening this post not as a bug report, but as a formal question and clarification request regarding API response consistency across different WAHA versions and engines.
Please do not mark or delete this post as a duplicate of any existing bug report (such as /api/sendImage) — because this discussion focuses solely on API response structure inconsistencies, not on endpoint malfunction.


⚠️ The core issue

Over multiple versions and engines (NOWEB and GOWS), I’ve found that the API responses change drastically — even for the same endpoints like /api/sendText and /api/sendImage.

These changes happen without any notice, changelog entry, or API version differentiation, which creates serious problems for integrations that depend on stable response formats.

This is not just a temporary bug; it’s an architectural inconsistency that affects every system integrating with WAHA — ERP, CRM, bots, automation services, and so on.


🔍 Summary of observations

Version Engine /api/sendText /api/sendImage Response structure Notes
2025.9.3 NOWEB ✅ Works ✅ Works Format A Stable
2025.9.4 NOWEB ✅ Works ✅ Works Format A Stable
2025.9.5–2025.9.7 NOWEB ✅ Works ⚠️ Sends 3x messages Format B (similar to GOWS) Unstable
2025.9.8 NOWEB ✅ Works ❌ Fails (Media upload failed) Reverted to Format A Broken
2025.10.1 NOWEB ✅ Works ❌ Fails (Media upload failed) Format A Broken
2025.10.1 GOWS ✅ Works ✅ Works Format B Stable

Example difference:

NOWEB (2025.10.1)

{
  "statusCode": 200,
  "id": "[email protected]_xxx",
  "message": "Message sent successfully"
}

GOWS (2025.10.1)

{
  "id": "[email protected]_xxx",
  "_data": {
    "Info": { "Chat": "[email protected]", "IsFromMe": true, ... },
    "Message": { "imageMessage": { "caption": "example" } }
  }
}

Same endpoint — completely different structure.
There’s no mention of this anywhere in release notes or documentation.


❗Why this matters

For production systems, API consistency is critical.
If the same endpoint returns different JSON shapes depending on the engine or version, all external integrations break silently.

  • Developers can’t rely on one standard data model.

  • Automated parsers and message handlers crash.

  • API-based integrations (like Automan ERP, CRM, or WhatsApp bot bridges) must be rewritten after every update.

This isn’t a simple bug — it’s a design and quality control issue.


🧭 Questions for the WAHA Team

  1. Are these response format differences intentional per engine, or are they uncontrolled regressions between releases?

  2. Is there an official response schema or API contract that all engines are supposed to follow?

  3. Will WAHA introduce API versioning (/api/v1, /api/v2) or documentation updates to prevent future breaking changes?

  4. Which format (A or B) should integrators consider “official” going forward?


💬 Final note

This post is not about the /api/sendImage bug, even though that endpoint happens to fail on NOWEB.
The purpose here is to address the underlying inconsistency in API response structures, which affects all endpoints.

Please do not close or delete this issue as a duplicate — it’s an independent topic requiring an architectural clarification from the WAHA development team.


Thank you 🙏

patron:PLUS

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions