Authentication
Requires browser authentication (dashboard). API keys cannot create sessions — sessions must be attributed to a specific user.
Request body
The ID of the organization to create the session in.
The initial prompt for the agent. A title is auto-generated from this message.
GitHub repository URL to clone (e.g., https://github.com/owner/repo). The sandbox will clone this repo before the agent starts working.
The branch to base changes on. Defaults to main. Only used when repoUrl is provided.
The Claude model to use. Defaults to claude-opus-4-6.
Response
Returns 201 Created with the newly created session.
The created session object. See List Sessions for the full schema.
Example
This endpoint requires browser authentication (session cookie). The example below shows the request shape — to create sessions, use the Magnet dashboard or the API from an authenticated browser context.
curl -X POST "https://magnet.run/api/sessions" \
-H "Content-Type: application/json" \
-H "Cookie: __session=<your-session-token>" \
-d '{
"organizationId": "org_abc123",
"initialMessage": "Add input validation to the signup form. Email should be validated, password needs 8+ chars with at least one number.",
"repoUrl": "https://github.com/acme/web-app",
"baseBranch": "main"
}'
Response
{
"session": {
"id": "cm3abc123def",
"title": "Add input validation to signup form",
"status": "active",
"createdAt": "2026-02-11T10:00:00.000Z",
"updatedAt": "2026-02-11T10:00:00.000Z",
"model": "claude-opus-4-6",
"author": {
"id": "user_123",
"name": "Alice Chen"
},
"metadata": {
"repository": "acme/web-app"
},
"messageCount": 1,
"firstMessagePreview": "Add input validation to the signup form..."
}
}
Errors
| Status | Description |
|---|
400 | Invalid request body or API key used instead of browser session |
401 | Invalid or missing authentication |
403 | No access to the specified organization |
500 | Server error |
Session creation requires browser authentication. If you need to create sessions programmatically, use the Magnet dashboard.