Skip to content

Egress Joke API

Responsibility

Humor capability provider for the Official Joke API. Workflows call it via service_call steps and the capability registry — no orchestrator code changes required.

Capabilities:

  • egress.joke-api.random — fetch a random joke (setup + punchline)
  • joke-api.connection — optional workflow connection type (base_url override)

Architecture

This is a capability provider (see Deploy integration contract):

  • Registers with capability-registry at startup
  • Orchestrator discovers endpoints dynamically
  • No EGRESS_*_URL env var on orchestrator

Connection Model

name: joke-api
type: joke-api

Optional override:

name: joke-api
type: joke-api
base_url: "https://official-joke-api.appspot.com"

Reference file: flows/connections/joke-api.yaml.

No API key is required for the public endpoint.

Example Workflow

  • Workflow: flows/workflows/joke_api_random_demo.yaml
  • HTTP trigger: POST /v1/api/examples/joke-api-random
  • Payload: {} (empty JSON object is fine)

Deploy

  • Image: meshflows/egress-joke-api
  • Deployment: egress-joke-api
  • Service path: engine/services/joke-api/

Health

  • GET /healthz
  • GET /readyz
  • GET /internal/capabilities