---
title: "Starts the selected profile by transitioning its status to 'starting', launching the kernel (Chroma or Junglefox) associated with the profile, and then changing its status to 'running'. If there is an error during start-up, it will be 'terminated'. Note that the required kernel might not be available locally, so it may be downloaded during the profile start. Optional command line arguments or settings can be passed to the browser engines."
method: POST
path: "/profiles/{profileId}/start"
tags: ["Profile"]
---

# Starts the selected profile by transitioning its status to 'starting', launching the kernel (Chroma or Junglefox) associated with the profile, and then changing its status to 'running'. If there is an error during start-up, it will be 'terminated'. Note that the required kernel might not be available locally, so it may be downloaded during the profile start. Optional command line arguments or settings can be passed to the browser engines.

`POST /profiles/{profileId}/start`

## Request

- Base URL: `http://localhost:5050`
- URL: `http://localhost:5050/profiles/{profileId}/start`
- Auth: none declared
- TypeScript: <https://skmtc.dev/kameleo-io/apis/kameleo-local-api/docs/profiles/:profileId/start/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `profileId` string, uuid, required

## Request body

- BrowserSettings: Extra settings and preferences that can be applied to the browser at startup.
  - `arguments` string[], nullable: Command line arguments that can be passed to the browser at startup. This applies to both Chroma and Junglefox browsers.
  - `preferences` Preference[], nullable: List of preferences for browsers that can be passed at startup. In case of Chromium-based options it will be a user profile preference. In case of Firefox profiles it will be a preference.
    - `key` string, required: Key of the preference
    - `value` unknown, required
  - `additionalOptions` Preference[], nullable: Special options available only in Kameleo, such as device scale factor for mobile emulated profiles. See the docs for more details.
    - `key` string, required: Key of the preference
    - `value` unknown, required

## Response `200`

OK.

- StatusResponse: Status information about the profile
  - `lifetimeState` 'created' | 'starting' | 'running' | 'terminating' | 'terminated' | 'locked' | 'loading' | 'unknown', required: Represents the lifetime states of a profile, indicating which actions can be performed with the associated browser engine at each state. Possible values are: - Created: Profile is created; the associated browser engine is not started. - Starting: The associated browser engine is starting. - Running: The associated browser engine is currently running. - Terminating: The associated browser engine is in the process of terminating. - Terminated: The associated browser engine is not running but has been started at least once. - Locked: The profile is currently being used by another user. - Loading: The profile data or the browser engine is syncing with the cloud storage. - Unknown: State of the profile is undefined.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `402`: Payment Required
- `403`: Forbidden
- `404`: Profile not found.
- `409`: Profile already running.
- `429`: Too Many Requests
- `503`: Service Unavailable
- `default`: Error

## Changes

- **2026-08-03** `dc959e78ce25`: 9 warning
  - added the new `running_mobile_profiles_limit_reached` enum value to the `errorCode/allOf[#/components/schemas/ErrorCode]/` response property for the response status `400`
  - added the new `running_mobile_profiles_limit_reached` enum value to the `errorCode/allOf[#/components/schemas/ErrorCode]/` response property for the response status `401`
  - added the new `running_mobile_profiles_limit_reached` enum value to the `errorCode/allOf[#/components/schemas/ErrorCode]/` response property for the response status `402`
  - added the new `running_mobile_profiles_limit_reached` enum value to the `errorCode/allOf[#/components/schemas/ErrorCode]/` response property for the response status `403`
  - …5 more
- **2026-06-16** `4d1d53a322e2`: 18 warning, 63 info
  - removed the optional property `code` from the response with the `400` status
  - removed the optional property `code` from the response with the `401` status
  - removed the optional property `code` from the response with the `402` status
  - removed the optional property `code` from the response with the `403` status
  - …77 more
- **2026-04-01** `b91e3be7066e`: 1 info
  - added the non-success response with the status `429`
- …earlier changes not shown

[Operation history](https://skmtc.dev/kameleo-io/apis/kameleo-local-api/changes/profiles/:profileId/start/post.md)

---

[API](https://skmtc.dev/kameleo-io/apis/kameleo-local-api.md) - [All operations](https://skmtc.dev/kameleo-io/apis/kameleo-local-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kameleo-io/apis/kameleo-local-api/revisions/d3225562612a?raw)
