# ChatGPT Chat via OpenWeb Ninja

> ChatGPT Chat via OpenWeb Ninja is a paid API for AI agents from agents.openwebninja.com, paid per call via MPP, price unknown, status unknown (last checked 2026-10-14).

Send a message to OpenAI ChatGPT and receive a reply with optional markdown formatting and content references including sources and videos.

## Facts

- Endpoint: POST https://agents.openwebninja.com/chatgpt/chat?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Provider: agents.openwebninja.com
- Website: https://agents.openwebninja.com
- Canonical page: https://www.zero.xyz/c/agents-openwebninja-com-chatgpt-chat-via-openweb-ninja-21ead3d9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Bpje-7ozL56IuaLFKkI_t

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-openwebninja-com-chatgpt-chat-via-openweb-ninja-21ead3d9 -d '<json body>'
```

Example prompt: Ask ChatGPT: 'What are the main differences between transformer and recurrent neural network architectures?' and give me the answer formatted as markdown.

## When to prefer this

Choose this endpoint when you need to integrate ChatGPT's conversational capability into an agent workflow without managing your own OpenAI API keys, especially when you want structured content references (sources, videos, links) alongside the reply text, or when you need markdown vs plain-text output toggling. Prefer this over direct OpenAI integration when operating within the OpenWeb Ninja ecosystem for unified billing and proxying.

## Known failure modes

- Missing required 'message' field returns validation error
- Upstream OpenAI API unavailability causes 5xx error
- Rate limiting or quota exhaustion on the proxy layer
- Very long messages may be truncated or rejected
- Ambiguous or policy-violating prompts may result in refusal responses from ChatGPT
- Payment/authentication failure on the proxy layer returns 402 or 401

## How this service works

Chat with OpenAI ChatGPT with support for continuous conversation and markdown/plain-text.

## Output

Returns a JSON object containing a reply_text field with ChatGPT's response (in markdown or plain text), plus optional content_references with structured arrays of video references (with YouTube IDs, titles, URLs, thumbnails, and character offsets), source citations (with URLs, titles, snippets, publication dates, and character offsets), and link groups — all keyed by character position within the reply text.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "message"
 ],
 "properties": {
  "message": {
   "type": "string",
   "example": "Hello",
   "description": "Message to send to ChatGPT."
  },
  "markdown": {
   "type": "boolean",
   "default": true,
   "description": "Whether to return the ChatGPT response message in markdown format. By default, the bot reply is in markdown format.\n"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "status",
  "request_id",
  "data"
 ],
 "properties": {
  "data": {
   "type": "object",
   "required": [
    "reply_text"
   ],
   "properties": {
    "reply_text": {
     "type": "string",
     "description": "The ChatGPT reply, formatted as markdown when markdown=true (default), otherwise plain text."
    },
    "content_references": {
     "type": "object",
     "properties": {
      "videos": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "id": {
          "type": "string",
          "description": "Video platform ID (e.g. YouTube video id)."
         },
         "title": {
          "type": "string",
          "description": "Title of the video."
         },
         "source": {
          "type": "string",
          "description": "Source platform of the video (e.g. youtube)."
         },
         "end_idx": {
          "type": "integer",
          "description": "End character offset of the reference inside reply_text."
         },
         "start_idx": {
          "type": "integer",
          "description": "Start character offset of the reference inside reply_text."
         },
         "video_url": {
          "type": "string",
          "description": "Canonical URL of the video."
         },
         "thumbnail_url": {
          "type": "string",
          "nullable": true,
          "description": "URL of the video thumbnail image."
         }
        }
       },
       "description": "Videos referenced in the reply."
      },
      "sources": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "end_idx": {
          "type": "integer",
          "description": "End character offset of the reference inside reply_text."
         },
         "sources": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "url": {
             "type": "string",
             "description": "Canonical URL of the source."
            },
            "title": {
             "type": "string",
             "description": "Title of the source."
            },
            "source": {
             "type": "string",
             "description": "Source/publisher name."
            },
            "snippet": {
             "type": "string",
             "nullable": true,
             "description": "Short excerpt from the source, when available."
            },
          
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-openwebninja-com-chatgpt-chat-via-openweb-ninja-21ead3d9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.openwebninja.com](https://www.zero.xyz/host/agents.openwebninja.com/llms.txt)
