Skip to content

[v0.2.3] REST API endpoints (/chat, /a2a) not available on Gateway - only health endpoints work #1708

@janvda

Description

@janvda

Environment:

  • PicoClaw version: v0.2.3 (Docker image: sipeed/picoclaw:v0.2.3)
  • Deployment: Docker Compose with gateway profile
  • Port configuration: 18000:18000, 18790:18790, 18800:18800

Expected Behavior:
According to documentation and README, the Gateway should expose REST API endpoints at:

  • POST /chat - for chat requests
  • POST /a2a - for agent-to-agent communication
  • Port: 18000 (default gateway port)

Actual Behavior:

  1. Gateway starts successfully on port 18790 (not 18000):

    ✓ Gateway started on 0.0.0.0:18790
    ✓ Health endpoints available at http://0.0.0.0:18790/health and /ready
    
  2. Health endpoints work correctly:

    $ curl http://nuc2.lan:18790/health
    {"status":"ok","uptime":"4m35.403949787s","pid":1}
  3. All REST API endpoints return 404 Not Found:

    $ curl -X POST http://nuc2.lan:18790/chat -H "Content-Type: application/json" -d '{"message": "Hello"}'
    404 page not found
    
    $ curl -X POST http://nuc2.lan:18790/v1/chat ...
    404 page not found
    
    $ curl -X POST http://nuc2.lan:18790/api/chat ...
    404 page not found
  4. Port 18000 is not listening inside the container (only 18790 is).

Steps to Reproduce:

  1. Start PicoClaw v0.2.3 with gateway profile:
    docker-compose --profile gateway up -d
  2. Verify gateway is running on port 18790
  3. Try to access /chat endpoint:
    curl -X POST http://localhost:18790/chat -H "Content-Type: application/json" -d '{"message": "test"}'
  4. Observe 404 error

Questions:

  1. Does PicoClaw v0.2.3 Gateway support REST API endpoints (/chat, /a2a)?
  2. If not, which version introduced REST API support?
  3. Is the REST API only available in the launcher profile (port 18800) and not the gateway profile?
  4. Should the documentation be updated to clarify which profile provides REST API access?

Additional Context:

  • The web/backend directory in the repository mentions "RESTful APIs" - is this only for the launcher?
  • Docker Compose configuration includes port 18000 mapping, but the gateway doesn't bind to it.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions