Get project settings
captchaDefault is what new sessions and agent runs do about CAPTCHAs when they do not set captcha themselves ("Solve CAPTCHAs automatically" in the console is solve). captchaDefaultEffective is what they get now: ask when the setting is solve but the plan no longer includes automatic solving.
GET
/v1/project/settingsRequest
| Method and path | GET/v1/project/settings |
|---|---|
| Base URL | https://api.boxline.dev |
| Authentication | Your API key in the x-api-key header (or Authorization: Bearer). The examples read it from BOXLINE_API_KEY. |
curl "https://api.boxline.dev/v1/project/settings" \ -H "x-api-key: $BOXLINE_API_KEY"import { Boxline } from "@boxline/sdk";const bx = new Boxline(); // reads BOXLINE_API_KEY and BOXLINE_API_URLconst settings = await bx.project.settings();console.log(settings.captchaDefault, settings.captchaDefaultEffective, settings.trajectories.enabled);from boxline import Boxlinebx = Boxline() # reads BOXLINE_API_KEY and BOXLINE_API_URLsettings = bx.project.settings()print(settings["captchaDefault"], settings["captchaDefaultEffective"], settings["trajectories"]["enabled"])Responses
200 OK
The settings.
Fields
| Name | Type | Default | Allowed values | Description |
|---|---|---|---|---|
captchaDefault | string | – | ask, ignore, solve | What happens when a CAPTCHA waits for a person. ask (default): agent runs and steps pause and hand over. ignore: they carry on. solve (opt-in, paid plans): the platform tries to solve it first. |
captchaDefaultEffective | string | – | ask, ignore, solve | What happens when a CAPTCHA waits for a person. ask (default): agent runs and steps pause and hand over. ignore: they carry on. solve (opt-in, paid plans): the platform tries to solve it first. |
defaultModel | object | null | – | – | The model used when a request names no provider and no model (explicit request, then this, then the server default). |
defaultModel.provider | string | – | anthropic, openai, xai, google | Anthropic Claude, OpenAI, Grok (xAI), Google Gemini. Grok and Gemini have no computer use (mode computer is 400). |
defaultModel.model | string | – | – | |
trajectories | object | – | – | |
trajectories.enabled | boolean | – | – | |
trajectories.noticeSeenAt | string | null | – | – | Format: date-time. |
trajectories.decidedBy | string | null | – | – | The user who made the last choice (null for an API key). |
updatedAt | string | null | – | – | Format: date-time. |
updatedBy | string | null | – | – | The project's own user who changed it last in the console (null for an API key or support). |
updatedVia | string | null | – | console, api_key, support, null | How it was changed last (support means the platform's support staff); null if never. |
{ "captchaDefault": "ask", "captchaDefaultEffective": "ask", "defaultModel": { "provider": "anthropic", "model": "claude-sonnet-5-5" }, "trajectories": { "enabled": false, "noticeSeenAt": "2026-09-29T10:00:00.000Z", "decidedBy": "…" }, "updatedAt": "2026-09-29T10:00:00.000Z", "updatedBy": "…", "updatedVia": "console"}Errors
Errors have a matching HTTP status and the same body. code is stable, so check it in your code; message is for people. See Errors and request ids.
| Status | Codes | When |
|---|---|---|
| 401 Unauthorized | unauthorized | Missing or invalid API key. |
{ "error": { "code": "not_found", "message": "session not found", "requestId": "req_4fJx0aQm2Lk9Pz7N" }}Learn more
These docs describe a beta API. Endpoints, fields and SDK methods may change before general availability; breaking changes will be listed in the changelog.