Request a connection
POST /api/developer/projects/{project_id}/connect/ — ask the owner to approve updates.
POST /api/developer/projects/{project_id}/connect/
Content-Type: application/json{ "claim_secret": "<fragment of the claim_url>", "client": "codex" }| Field | Details |
|---|---|
claim_secret | Required for an unclaimed game: the part of its claim_url after #. Omit it for a claimed game; only its owner can approve. |
client | Which tool is asking, shown to the owner. |
The project ID alone never grants access.
Response
HTTP 201:
{
"project_id": "6f1d2c8e-...",
"connection_id": "0b7a...",
"agent_token": "<agent_token>",
"approval_url": "https://rosebud.ai/connect#<secret>",
"status": "pending",
"expires_at": "2026-10-27T18:34:11Z"
}Store agent_token securely and show only approval_url to the person. They're different secrets.
The person opens the link, signs in, reviews the game and client, and approves. Visiting the link alone never approves. Pending requests expire in 30 minutes; approved access lasts 90 days. Approving an unclaimed game also claims it.