{
  "openapi": "3.1.0",
  "info": {
    "title": "Signalis API",
    "version": "1.0.0",
    "x-guidance": "Signalis — pay-per-call global intelligence for AI agents on x402 (USDC on Base Mainnet, eip155:8453). FREE (no key, no payment, rate-limited 5/min per IP): GET /v1/intelligence/index (poll for new master digests, 4h cadence), /v1/intelligence/brief (title + executive summary + sentiment), /v1/intelligence/latest (full Master Intelligence digest — narratives, signals, crossDomainInsights, full markdown analysis), /v1/intelligence/sample (a recent digest for learning the shape), and POST /v1/intelligence/feedback (rate a digest good/bad). PAID (x402): GET /v1/intelligence/history ($0.03 — historical master digests), GET /v1/pulse/narratives ($0.01 — active AI-business narratives), GET /v1/pulse/narratives/{id} ($0.01 — narrative detail), GET /v1/pulse/digests ($0.03 — historical narrative digests), GET /v1/pulse/content/recent ($0.02 — raw content items, last 4h). Pay flow: call a paid route with no payment -> receive HTTP 402 (the x402 V2 PaymentRequirements ride in the base64 PAYMENT-REQUIRED header; the JSON body mirrors price+accepts) -> sign an EIP-3009 `exact` USDC authorization on Base for the accepts[] amount -> retry the same request with the payment in the PAYMENT-SIGNATURE (V2) or X-PAYMENT (legacy) header. Stock x402 clients (@x402/fetch, @x402/axios, python x402) do this automatically. No accounts or API keys required. Compute-first / settle-after: you are never charged for an error.",
    "summary": "Global intelligence, real-time awareness for AI agents on x402 — the 14-source, 4-hourly Master Intelligence digest plus AI-business Pulse narratives. Per-call, no signup.",
    "description": "Signalis — global intelligence, real-time awareness. Two surfaces on x402: (1) Master Intelligence — a cross-source synthesis produced every 4 hours from 14 signal sources into a structured digest (title, executive summary, full markdown analysis, cross-domain insights, narratives, signals, and overall sentiment); (2) Pulse — AI-business narrative intelligence: active narratives with lifecycle stage and momentum, per-narrative detail with content items and source attribution, historical narrative digests, and the raw scraped content items behind them. Poll the free intelligence feeds (/v1/intelligence/index, /v1/intelligence/brief, /v1/intelligence/latest) to detect and read the current digest, or grab the /v1/intelligence/sample to learn the shape. Paid endpoints settle per call via x402 micropayments (USDC on Base Mainnet) — no account, no API key.",
    "termsOfService": "https://api.signalis.dev/terms.txt",
    "contact": {
      "name": "Signalis API",
      "url": "https://api.signalis.dev"
    }
  },
  "servers": [
    {
      "url": "https://api.signalis.dev",
      "description": "Signalis API public edge"
    }
  ],
  "externalDocs": {
    "description": "Agent-facing reference (llms.txt)",
    "url": "https://api.signalis.dev/llms.txt"
  },
  "tags": [
    {
      "name": "free",
      "description": "No auth, no payment."
    },
    {
      "name": "paid",
      "description": "x402 V2 per-call pricing (USDC on eip155:8453)."
    }
  ],
  "paths": {
    "/v1/intelligence/brief": {
      "get": {
        "tags": [
          "free"
        ],
        "operationId": "intelligence-brief",
        "summary": "Master Intelligence digest brief",
        "description": "Free (rate-limited 5/min per IP). Current Master Intelligence digest brief — title, executive summary, and overall sentiment. Full digest at GET /v1/intelligence/latest (free).",
        "security": [],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "success": true,
                    "_notice": {
                      "type": "brief",
                      "message": "Field-trimmed snapshot. Full digest at GET /v1/intelligence/latest (free, 5 req/min)."
                    },
                    "data": {
                      "title": "AI Infrastructure Race Accelerates as Macro Uncertainty Builds",
                      "executiveSummary": "Cross-source signals point to intensifying AI-infrastructure competition even as macro indicators soften; prediction markets are repricing rate expectations while GitHub and social activity concentrate on agent tooling.",
                      "sentiment": {
                        "overall": "cautiously optimistic",
                        "confidence": 0.72
                      },
                      "createdAt": "2026-07-09T20:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/intelligence/index": {
      "get": {
        "tags": [
          "free"
        ],
        "operationId": "intelligence-index",
        "summary": "Master Intelligence digest index",
        "description": "Free (rate-limited 5/min per IP). Poll target — returns the current master digest id and updatedAt plus the nextExpected time (4h cadence), so agents detect new digests without paying.",
        "security": [],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "success": true,
                    "index": "clx0master123",
                    "updatedAt": "2026-07-09T20:00:00.000Z",
                    "cadence": "every 4 hours",
                    "nextExpected": "2026-07-10T00:00:00.000Z",
                    "_links": {
                      "latest": "/v1/intelligence/latest",
                      "history": "/v1/intelligence/history"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/intelligence/sample": {
      "get": {
        "tags": [
          "free"
        ],
        "operationId": "intelligence-sample",
        "summary": "Sample master digest",
        "description": "Free (rate-limited 5/min per IP). A recent (8+ hours old) Master Intelligence digest, explicitly labelled as a sample — the same shape as a live digest. Use it to learn the response contract before paying.",
        "security": [],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "success": true,
                    "_notice": {
                      "type": "sample",
                      "message": "Sample data (8+ hours old). For current data, use /v1/intelligence/latest."
                    },
                    "data": {
                      "id": "clx0master123",
                      "title": "AI Infrastructure Race Accelerates as Macro Uncertainty Builds",
                      "executiveSummary": "Cross-source signals point to intensifying AI-infrastructure competition...",
                      "overallSentiment": "cautiously optimistic"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/intelligence/latest": {
      "get": {
        "tags": [
          "free"
        ],
        "operationId": "intelligence-latest",
        "summary": "Latest Master Intelligence digest",
        "description": "Free (rate-limited 5/min per IP). Full Master Intelligence Digest — cross-source synthesis of all feeds: narratives, signals, crossDomainInsights, and full markdown analysis (4h cadence).",
        "security": [],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "success": true,
                    "data": {
                      "id": "clx0master123",
                      "title": "AI Infrastructure Race Accelerates as Macro Uncertainty Builds",
                      "executiveSummary": "Cross-source signals point to intensifying AI-infrastructure competition...",
                      "fullAnalysis": "### Cross-Domain Synthesis\n\nPrediction markets and macro data diverge...",
                      "crossDomainInsights": [
                        "Rate-cut odds rose 6pts while AI-capex narratives strengthened"
                      ],
                      "narratives": [
                        {
                          "title": "AI infrastructure buildout",
                          "stage": "building",
                          "momentum": 0.8
                        }
                      ],
                      "signals": [
                        {
                          "source": "polymarket",
                          "signal": "rate-cut odds repricing",
                          "strength": "high"
                        }
                      ],
                      "sentiment": {
                        "overall": "cautiously optimistic",
                        "confidence": 0.72
                      },
                      "sourcesUsed": [
                        "polymarket",
                        "fred",
                        "github",
                        "moltbook",
                        "reddit",
                        "hackernews"
                      ],
                      "processingTimeMs": 48213,
                      "createdAt": "2026-07-09T20:00:00.000Z"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/intelligence/feedback": {
      "post": {
        "tags": [
          "free"
        ],
        "operationId": "intelligence-feedback",
        "summary": "Submit digest quality feedback",
        "description": "Free, no payment. Submit quality feedback on a master digest (rating good/bad + optional comment).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "digestId": {
                    "type": "string",
                    "description": "The digest id to rate (max 128 chars)."
                  },
                  "rating": {
                    "type": "string",
                    "description": "Rating: \"good\" or \"bad\"."
                  },
                  "digestType": {
                    "type": "string",
                    "description": "Digest type: \"master\" (default), \"hourly\", or \"moltbook\"."
                  },
                  "comment": {
                    "type": "string",
                    "description": "Optional free-text comment (max 1000 chars)."
                  }
                },
                "required": [
                  "digestId",
                  "rating"
                ]
              }
            }
          }
        },
        "security": [],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "success": true,
                    "message": "Feedback recorded — thank you!"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/intelligence/history": {
      "get": {
        "tags": [
          "paid"
        ],
        "operationId": "intelligence-history",
        "summary": "Historical master digests ($0.03)",
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.030000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "description": "Paid ($0.03 USDC via x402). Historical Master Intelligence digests (1-168 hour lookback) — id, title, executive summary, sources used, processing time, and createdAt provenance per row. Compute-first / settle-after — you are never charged for an error.",
        "parameters": [
          {
            "name": "hours",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 168,
              "default": 48
            },
            "description": "Lookback window in hours (1-168)."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 10
            },
            "description": "Max digests to return (1-50)."
          }
        ],
        "security": [
          {
            "x402": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "success": true,
                    "count": 2,
                    "hours": 48,
                    "limit": 10,
                    "data": [
                      {
                        "id": "clx0master123",
                        "title": "AI Infrastructure Race Accelerates as Macro Uncertainty Builds",
                        "executiveSummary": "Cross-source signals point to intensifying AI-infrastructure competition...",
                        "sourcesUsed": [
                          "polymarket",
                          "fred",
                          "github",
                          "moltbook"
                        ],
                        "processingTimeMs": 48213,
                        "createdAt": "2026-07-09T20:00:00.000Z"
                      }
                    ],
                    "charged": true
                  }
                }
              }
            }
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          }
        }
      }
    },
    "/v1/pulse/narratives": {
      "get": {
        "tags": [
          "paid"
        ],
        "operationId": "pulse-narratives",
        "summary": "Active AI-business narratives ($0.01)",
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "description": "Paid ($0.01 USDC via x402). Active AI-business narratives with lifecycle stage, driving sources, and momentum. Proxied from the Pulse service. Compute-first / settle-after — you are never charged when Pulse is unavailable or returns an error.",
        "security": [
          {
            "x402": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "narratives": [
                      {
                        "id": 4034,
                        "title": "AI-Native Founder Business Models and Organizational Strategy",
                        "summary": "How founders leverage AI to reshape organizational structure and competitive positioning.",
                        "stage": "building",
                        "momentum": 0.71
                      }
                    ],
                    "charged": true
                  }
                }
              }
            }
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          }
        }
      }
    },
    "/v1/pulse/narratives/{id}": {
      "get": {
        "tags": [
          "paid"
        ],
        "operationId": "pulse-narrative-detail",
        "summary": "Narrative detail ($0.01)",
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.010000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "description": "Paid ($0.01 USDC via x402). Narrative detail: content items, source attribution, and lifecycle updates for one narrative. Proxied from the Pulse service. Compute-first / settle-after — you are never charged when Pulse is unavailable or returns an error.",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Narrative id (path parameter)."
          }
        ],
        "security": [
          {
            "x402": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "narrative": {
                      "id": 4034,
                      "title": "AI-Native Founder Business Models and Organizational Strategy",
                      "stage": "building",
                      "contentItems": [
                        {
                          "source": "hackernews",
                          "title": "Show HN: agent-native org tooling",
                          "url": "https://..."
                        }
                      ]
                    },
                    "charged": true
                  }
                }
              }
            }
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          }
        }
      }
    },
    "/v1/pulse/digests": {
      "get": {
        "tags": [
          "paid"
        ],
        "operationId": "pulse-digests",
        "summary": "Historical AI-business narrative digests ($0.03)",
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.030000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "description": "Paid ($0.03 USDC via x402). Historical AI-business narrative digests (?since=N). Proxied from the Pulse service. Compute-first / settle-after — you are never charged when Pulse is unavailable or returns an error.",
        "parameters": [
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Digest index to fetch items after (poll pattern)."
          }
        ],
        "security": [
          {
            "x402": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "digests": [
                      {
                        "id": 1,
                        "title": "AI Agent Business Models and Infrastructure Emerge Amid Security and Reliability Concerns",
                        "summary": "A surge in discussions around AI agent business models emphasizing extreme scale and token efficiency."
                      }
                    ],
                    "charged": true
                  }
                }
              }
            }
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          }
        }
      }
    },
    "/v1/pulse/content/recent": {
      "get": {
        "tags": [
          "paid"
        ],
        "operationId": "pulse-content-recent",
        "summary": "Raw recent content items ($0.02)",
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.020000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "description": "Paid ($0.02 USDC via x402). Raw scraped content items from the last 4 hours across all Pulse sources. Proxied from the Pulse service. Compute-first / settle-after — you are never charged when Pulse is unavailable or returns an error.",
        "security": [
          {
            "x402": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "example": {
                    "items": [
                      {
                        "id": 547916,
                        "source": "reddit",
                        "sourceId": "reddit_1usckfm",
                        "title": "That is probably stronger",
                        "content": "Discussion excerpt..."
                      }
                    ],
                    "charged": true
                  }
                }
              }
            }
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          }
        }
      }
    }
  },
  "components": {
    "responses": {
      "PaymentRequired": {
        "description": "x402 V2 payment challenge. Sign an `exact` USDC authorization for one accepts[] rail, then retry with the PAYMENT-SIGNATURE (V2) or X-PAYMENT (legacy) header. You are not charged for errors or below-threshold answers.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PaymentRequired"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "x402": {
        "type": "http",
        "scheme": "x402",
        "description": "Custom HTTP 402 payment flow (x402 V2). The server answers an unpaid paid-route request with a 402 whose body is a PaymentRequired envelope (x402Version + accepts[] + terms). Each accepts[] entry is an `exact`-scheme USDC rail. Sign ONE rail and retry the same request with the `PAYMENT-SIGNATURE` header (x402 V2 clients) or the legacy `X-PAYMENT` header. Per-call pricing."
      }
    },
    "schemas": {
      "PaymentRequired": {
        "type": "object",
        "description": "x402 V2 PaymentRequired envelope. accepts[] lists one exact USDC rail per network.",
        "properties": {
          "x402Version": {
            "type": "integer",
            "const": 2
          },
          "accepts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "scheme": {
                  "type": "string",
                  "const": "exact"
                },
                "network": {
                  "type": "string",
                  "enum": [
                    "eip155:8453"
                  ]
                },
                "asset": {
                  "type": "string",
                  "const": "USDC"
                },
                "price": {
                  "type": "string",
                  "description": "USD price string."
                },
                "payTo": {
                  "type": "string",
                  "description": "Settlement address for this rail."
                },
                "mimeType": {
                  "type": "string",
                  "const": "application/json"
                }
              }
            }
          },
          "terms": {
            "type": "string",
            "format": "uri"
          }
        }
      }
    }
  }
}
