{
  "$schema": "https://ai-json.org/schema/v1.json",
  "id": "https://electteddy.curiossa.com/.well-known/ai.json",
  "version": "1.0",
  "schemaVersion": "1.0",
  "name": "Roosevelt 2028",
  "title": "Roosevelt 2028 — A Square Deal for the Digital Age",
  "description": "Theodore Roosevelt's 2028 presidential campaign site — A Square Deal for the Digital Age. Daily AI-generated news dispatches, press releases, and platform-specific social commentary (X for the conservative voice, Bluesky for the liberal voice).",
  "summary": "Roosevelt 2028 presidential campaign — daily AI-generated news, press releases, and social commentary.",
  "keywords": [
    "politics",
    "campaign",
    "election-2028",
    "Theodore Roosevelt",
    "Square Deal",
    "antitrust",
    "conservation",
    "democracy",
    "press releases",
    "news"
  ],
  "url": "https://electteddy.curiossa.com",
  "homepage": "https://electteddy.curiossa.com",
  "logo": "https://electteddy.curiossa.com/images/redesign/logo.svg",
  "favicon": "https://electteddy.curiossa.com/favicon.ico",
  "image": "https://electteddy.curiossa.com/images/redesign/news-press.png",
  "type": "publication",
  "category": "politics-news",
  "language": "en-US",
  "inLanguage": "en-US",
  "audience": "general",
  "dateCreated": "2025-01-01",
  "dateModified": "2026-09-05",
  "lastUpdated": "2026-09-05",
  "creator": {
    "@type": "Organization",
    "name": "Roosevelt for America",
    "url": "https://electteddy.curiossa.com",
    "email": "press@electteddy.com"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Roosevelt for America",
    "url": "https://electteddy.curiossa.com",
    "logo": "https://electteddy.curiossa.com/images/redesign/logo.svg"
  },
  "provider": {
    "@type": "Organization",
    "name": "Roosevelt for America",
    "url": "https://electteddy.curiossa.com"
  },
  "owner": {
    "name": "Roosevelt for America",
    "url": "https://electteddy.curiossa.com"
  },
  "contact": {
    "email": "press@electteddy.com",
    "url": "https://electteddy.curiossa.com/about",
    "press": "press@electteddy.com",
    "type": "press"
  },
  "license": {
    "name": "All Rights Reserved with Quotation",
    "url": "https://electteddy.curiossa.com/llms.txt",
    "spdx": "LicenseRef-AllRightsReservedWithQuotation",
    "attribution": "Roosevelt 2028"
  },
  "termsOfService": "https://electteddy.curiossa.com/.well-known/ai.json",
  "feeds": {
    "rss": "https://electteddy.curiossa.com/rss.xml",
    "atom": "https://electteddy.curiossa.com/atom.xml",
    "json": "https://electteddy.curiossa.com/feed.json",
    "sitemap": "https://electteddy.curiossa.com/sitemap.xml",
    "news-sitemap": "https://electteddy.curiossa.com/news-sitemap.xml"
  },
  "discovery": {
    "llms": "https://electteddy.curiossa.com/llms.txt",
    "agent-card": "https://electteddy.curiossa.com/.well-known/agent-card.json",
    "api-catalog": "https://electteddy.curiossa.com/.well-known/api-catalog",
    "skill": "https://electteddy.curiossa.com/skill.md",
    "skills-index": "https://electteddy.curiossa.com/.well-known/skills/index.json",
    "openapi": "https://electteddy.curiossa.com/openapi.json",
    "mcp": "https://electteddy.curiossa.com/api/mcp",
    "robots": "https://electteddy.curiossa.com/robots.txt",
    "oauth-authorization-server": "https://electteddy.curiossa.com/.well-known/oauth-authorization-server",
    "intents": "https://electteddy.curiossa.com/api/intents"
  },
  "endpoints": {
    "list_news": "https://electteddy.curiossa.com/feed.json",
    "subscribe": "https://electteddy.curiossa.com/api/subscribe",
    "mcp": "https://electteddy.curiossa.com/api/mcp",
    "token": "https://electteddy.curiossa.com/api/agent/token",
    "sessions": "https://electteddy.curiossa.com/api/agent/sessions",
    "audit": "https://electteddy.curiossa.com/api/agent/audit",
    "intents": "https://electteddy.curiossa.com/api/intents",
    "sandbox": "https://electteddy.curiossa.com/api/sandbox"
  },
  "policies": {
    "ai-training": "allow",
    "ai-search": "allow",
    "ai-input": "allow",
    "indexing": "allow",
    "attribution": "Roosevelt 2028",
    "license": "all-rights-reserved-with-quotation",
    "robots": "https://electteddy.curiossa.com/robots.txt"
  },
  "models": {
    "allow": [
      "all"
    ],
    "training": "allow",
    "inference": "allow"
  },
  "usage": {
    "ai-input": "allow",
    "ai-train": "allow",
    "search": "allow",
    "attribution-required": true,
    "commercial": "allow"
  },
  "compliance": {
    "fec-id": "C00000000",
    "campaign-finance": "Roosevelt for America"
  },
  "social": {
    "x": "https://x.com/electteddy",
    "bluesky": "https://bsky.app/profile/electteddy.bsky.social"
  },
  "agentCard": "https://electteddy.curiossa.com/.well-known/agent-card.json",
  "skillsIndex": "https://electteddy.curiossa.com/.well-known/skills/index.json",
  "openapi": "https://electteddy.curiossa.com/openapi.json",
  "mcp": "https://electteddy.curiossa.com/api/mcp",
  "capabilities": [
    {
      "name": "list_news",
      "description": "List campaign news dispatches as a JSON Feed.",
      "endpoint": "https://electteddy.curiossa.com/feed.json",
      "method": "GET",
      "responseFormat": "application/feed+json",
      "consequence": {
        "kind": "none",
        "irreversible": false,
        "sideEffects": []
      }
    },
    {
      "name": "list_news_rss",
      "description": "List campaign news dispatches as RSS.",
      "endpoint": "https://electteddy.curiossa.com/rss.xml",
      "method": "GET",
      "responseFormat": "application/rss+xml",
      "consequence": {
        "kind": "none",
        "irreversible": false,
        "sideEffects": []
      }
    },
    {
      "name": "list_press",
      "description": "List campaign press releases via the sitemap.",
      "endpoint": "https://electteddy.curiossa.com/sitemap.xml",
      "method": "GET",
      "responseFormat": "application/xml",
      "consequence": {
        "kind": "none",
        "irreversible": false,
        "sideEffects": []
      }
    },
    {
      "name": "subscribe",
      "description": "Subscribe an email address to campaign dispatches (primary action).",
      "endpoint": "https://electteddy.curiossa.com/api/subscribe",
      "method": "POST",
      "responseFormat": "application/json",
      "consequence": {
        "kind": "communication",
        "irreversible": false,
        "sideEffects": [
          "sends a confirmation email to the address",
          "adds the address to the dispatch list"
        ],
        "reversal": "unsubscribe link in every email"
      }
    },
    {
      "name": "mcp",
      "description": "JSON-RPC 2.0 MCP endpoint exposing read tools.",
      "endpoint": "https://electteddy.curiossa.com/api/mcp",
      "method": "POST",
      "responseFormat": "application/json",
      "consequence": {
        "kind": "none",
        "irreversible": false,
        "sideEffects": []
      }
    },
    {
      "name": "search_content",
      "description": "Intent endpoint: search news dispatches by keyword.",
      "endpoint": "https://electteddy.curiossa.com/api/intents/search-content",
      "method": "POST",
      "responseFormat": "application/json",
      "consequence": {
        "kind": "none",
        "irreversible": false,
        "sideEffects": []
      }
    },
    {
      "name": "latest_dispatch",
      "description": "Intent endpoint: newest dispatch and press release in one call.",
      "endpoint": "https://electteddy.curiossa.com/api/intents/latest-dispatch",
      "method": "POST",
      "responseFormat": "application/json",
      "consequence": {
        "kind": "none",
        "irreversible": false,
        "sideEffects": []
      }
    },
    {
      "name": "agent_token",
      "description": "Issue a scoped, expiring bearer token (OAuth2 client_credentials).",
      "endpoint": "https://electteddy.curiossa.com/api/agent/token",
      "method": "POST",
      "responseFormat": "application/json",
      "consequence": {
        "kind": "credential",
        "irreversible": false,
        "sideEffects": [
          "issues a bearer token valid for at most 24 hours"
        ],
        "reversal": "DELETE /api/agent/token revokes it"
      }
    },
    {
      "name": "agent_sessions",
      "description": "Create and manage persistent agent sessions.",
      "endpoint": "https://electteddy.curiossa.com/api/agent/sessions",
      "method": "POST",
      "responseFormat": "application/json",
      "consequence": {
        "kind": "data",
        "irreversible": false,
        "sideEffects": [
          "stores the caller's own session context for 24 hours"
        ],
        "reversal": "DELETE the session"
      }
    }
  ],
  "skills": [
    {
      "id": "roosevelt-2028",
      "name": "Roosevelt 2028 Campaign Content",
      "description": "Read campaign news, press releases, and social commentary from the Roosevelt 2028 presidential campaign.",
      "manifest": "https://electteddy.curiossa.com/skill.md",
      "version": "1.0.0",
      "license": "all-rights-reserved-with-quotation"
    }
  ],
  "agent": {
    "intentEndpoints": [
      "https://electteddy.curiossa.com/api/intents/search-content",
      "https://electteddy.curiossa.com/api/intents/latest-dispatch",
      "https://electteddy.curiossa.com/api/intents/subscribe"
    ],
    "intentsIndex": "https://electteddy.curiossa.com/api/intents",
    "sessions": {
      "endpoint": "https://electteddy.curiossa.com/api/agent/sessions",
      "methods": [
        "POST",
        "GET",
        "PUT",
        "PATCH",
        "DELETE"
      ],
      "ttlSeconds": 86400,
      "maxContextBytes": 65536,
      "scope": "sessions:write"
    },
    "scopedTokens": {
      "tokenEndpoint": "https://electteddy.curiossa.com/api/agent/token",
      "grantTypes": [
        "client_credentials"
      ],
      "scopes": [
        "content:read",
        "subscribe:write",
        "sessions:write"
      ],
      "expirySeconds": 3600,
      "maxExpirySeconds": 86400,
      "revocation": "https://electteddy.curiossa.com/api/agent/token (DELETE)",
      "metadata": "https://electteddy.curiossa.com/.well-known/oauth-authorization-server"
    },
    "auditLog": {
      "header": "x-request-id",
      "endpoint": "https://electteddy.curiossa.com/api/agent/audit",
      "fields": [
        "id",
        "at",
        "agentId",
        "method",
        "path",
        "status",
        "sandbox",
        "ms"
      ],
      "storesBodies": false
    },
    "sandbox": {
      "baseUrl": "https://electteddy.curiossa.com/api/sandbox",
      "dryRunHeader": "X-Dry-Run",
      "description": "Every agent and intent endpoint under /api/sandbox/ runs with no side effects; X-Dry-Run: true does the same on the live paths."
    },
    "consequenceLabels": {
      "openapi": "https://electteddy.curiossa.com/openapi.json",
      "field": "x-consequence",
      "mcp": "tools[].annotations + tools[].x-consequence",
      "intents": "https://electteddy.curiossa.com/api/intents"
    },
    "toolSchemas": "https://electteddy.curiossa.com/.well-known/skills/index.json"
  }
}
