Docs
Dashboard
API reference / ProfilesBeta

Update a profile

credential links a password credential (null unlinks it): sessions with this profile, and agent runs, task runs and steps in them, get it as if listed in their credentials (same scope rules), so the AI can sign in again when the cookies have expired. 404 credential_not_found, 400 for a secret, 402 without loginDetails.

PATCH/v1/profiles/{id}

Request

Method and pathPATCH/v1/profiles/{id}
Base URLhttps://api.boxline.dev
AuthenticationYour API key in the x-api-key header (or Authorization: Bearer). The examples read it from BOXLINE_API_KEY.

Path parameters

NameTypeDefaultAllowed valuesDescription
idrequiredstring––

Body

JSON with content-type: application/json. Required.

NameTypeDefaultAllowed valuesDescription
namestring––1 to 100 characters.
credentialstring | null––Up to 64 characters. Pattern: ^[A-Z_][A-Z0-9_]*$.
curl -X PATCH "https://api.boxline.dev/v1/profiles/$PROFILE_ID" \  -H "x-api-key: $BOXLINE_API_KEY" \  -H "content-type: application/json" \  -d '{"credential": "SHOP"}'

Responses

200 OK

The profile.

Fields

NameTypeDefaultAllowed valuesDescription
idstring––
namestring––
sizeBytesinteger––
createdAtstring––Format: date-time.
updatedAtstring––Format: date-time.
inUseBystring | null––The running session using it.
credentialstring | null––The password credential it signs in with (PATCH /v1/profiles/:id {credential}); null without one.
Response 200
{  "id": "prof_Hk3VxP9mQ2sLw7Tn",  "name": "Work account",  "sizeBytes": 0,  "createdAt": "2026-09-29T10:00:00.000Z",  "updatedAt": "2026-09-29T10:00:00.000Z",  "inUseBy": "…",  "credential": "SHOP"}

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.

StatusCodesWhen
400 Bad Requestinvalid_request, invalid_json, invalid_cursor, invalid_idempotency_key, invalid_extension, variables_with_extensions, terms_not_accepted, invalid_reset_token, invalid_confirmation_code, wrong_password, no_password, invalid_next, invalid_oauth_tokenThe request is not valid.
401 UnauthorizedunauthorizedMissing or invalid API key.
402 Payment Requiredfeature_not_in_plan, spend_limit, out_of_credit, plan_limit, spend_limit, out_of_credit, organization, project, plan, creditThe plan does not include this, a monthly allowance or spending limit is used up, the organization has no credit left, or the plan allows no more of this. spend_limit and out_of_credit carry error.details.limit: organization, project, plan or credit.
404 Not Foundnot_found, invite_not_found, provider_unavailableNo such thing in this project (or organization), or no such route.
Error body
{  "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.