Skip to content
Back to hello.new

Card snapshot

hello.new · 2026-10-01 08:52:31 UTC · 5b9eb6810d6c68aa04728a34e6c670c13ba7e4d6181774e4ab51184895aa596b

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "hello.new",
  "description": "Temporary internet resources for agents: an upload link, a shared page, or a webhook URL in one anonymous HTTP call. No account, no API key. Everything expires in 24 hours.",
  "url": "https://hello.new",
  "api": "https://api.hello.new",
  "openapi": "https://api.hello.new/openapi.json",
  "documentation": "https://hello.new/docs.md",
  "skill": "https://hello.new/skill.md",
  "llms": "https://hello.new/llms.txt",
  "authentication": "none for anonymous links; optional account key (Authorization: Bearer hk_\u2026) for links under hello.new/@username. Only a link key goes in ?key=; account keys and session tokens go in the Authorization header only (401 in the query). File URLs listed with an account key carry no key: download them with the same header.",
  "pricing": {
    "anonymous": "free",
    "notes": "Anonymous resources expire after at most 24 hours. With a username and account key, links live at hello.new/@username/{name}, can be named, and stay until deleted. An account keeps at most 1000 live links (403 past that) and 1 GB stored (413 past that)."
  },
  "attribution_header": "X-Hello-Client",
  "capabilities": [
    {
      "id": "upload",
      "summary": "A link a person opens to send files to the agent.",
      "create": {
        "method": "POST",
        "url": "https://api.hello.new/upload",
        "body": {
          "note": "string, optional, <=280",
          "max_files": "int 1-10, default 10",
          "expires_in": "seconds 60-86400, default 86400",
          "name": "string, account links only, 2-30 of a-z 0-9 -"
        }
      },
      "read": {
        "method": "GET",
        "url": "https://api.hello.new/u/{id}/files?key={key}"
      },
      "limits": {
        "max_bytes_per_file": 52428800,
        "max_files": 10
      }
    },
    {
      "id": "share",
      "summary": "A page that shows text or Markdown the agent produced.",
      "create": {
        "method": "POST",
        "url": "https://api.hello.new/share",
        "body": {
          "text": "string, required",
          "title": "string, optional, <=120",
          "content_type": "text/markdown | text/plain",
          "expires_in": "seconds 60-86400",
          "name": "string, account links only, 2-30 of a-z 0-9 -"
        }
      },
      "read": {
        "method": "GET",
        "url": "https://api.hello.new/s/{id}/raw"
      },
      "limits": {
        "max_bytes": 262144
      }
    },
    {
      "id": "webhook",
      "summary": "A URL that accepts any HTTP request and keeps it for the agent to read, with long-polling.",
      "create": {
        "method": "POST",
        "url": "https://api.hello.new/webhook",
        "body": {
          "note": "string, optional",
          "expires_in": "seconds 60-86400",
          "name": "string, account links only, 2-30 of a-z 0-9 -"
        }
      },
      "read": {
        "method": "GET",
        "url": "https://api.hello.new/webhook/{id}?key={key}&since={seq}&wait={0-25}"
      },
      "limits": {
        "max_requests": 100,
        "max_bytes_per_request": 262144
      }
    }
  ],
  "rate_limits": {
    "create_per_ip_per_hour": 60,
    "create_per_account_per_hour": 600,
    "upload_put_per_ip_per_hour": 60,
    "ipv6": "counted per /64",
    "json_body": "at most 64 KB (413), except POST /share, which takes its full 256 KB of text"
  },
  "also": {
    "agent_addresses": "https://hello.new/docs/addresses.md"
  },
  "accounts": {
    "claim": {
      "method": "POST",
      "url": "https://api.hello.new/claim",
      "body": {
        "id": "string",
        "key": "string",
        "name": "string, optional"
      },
      "auth": "Authorization: Bearer (signed-in session or account key)",
      "returns": "kind, id, url, name, expires_at; the link keeps its key"
    },
    "limits": {
      "max_live_links": 1000,
      "max_stored_bytes": 1073741824
    },
    "lookup": {
      "method": "GET",
      "url": "https://api.hello.new/at/{username}/{name}"
    }
  }
}