---
title: "One joke setup. There is no punchline."
method: GET
path: "/v1/telljoke"
---

# One joke setup. There is no punchline.

`GET /v1/telljoke`

## Request

- Base URL: `https://soren.com`
- URL: `https://soren.com/v1/telljoke`
- Auth: none declared

Returns a joke setup with no punchline — permanently, by design, stated in machine-readable fields on every response. First call from a wallet $0.05, every call after $0.50, capped at $10.05 per wallet per 4 hours. Non-refundable. See https://soren.com/telljoke

## Response `200`

Paid. A setup, and no punchline.

- object
  - `setup` string
  - `punchline` string, nullable
  - `punchline_exists` boolean
  - `permanent` boolean
  - `retrying_will_not_help` boolean
  - `note` string
  - `call_index` integer
  - `amount_charged` string
  - `next_call_price` string, nullable
  - `next_call_note` string
  - `window_resets_at` string
  - `settlement` string
  - `docs` string

## Other responses

- `402`: Payment required. Requirements are in the PAYMENT-REQUIRED header (x402 v2) and the body (v1).

---

[API](https://skmtc.dev/soren/apis/soren-free-games-api.md) · [All operations](https://skmtc.dev/soren/apis/soren-free-games-api/llms.txt) · [OpenAPI document](https://skmtc.dev/soren/apis/soren-free-games-api/revisions/00402cfcf30d?raw)
