/api/public/v1/profilesprofiles.create
Create a profile from defaults plus the given fields (ProfileConfig contract).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
command_idbody | string (uuid) | Yes | Client-generated UUID for this command. Send the same id (and body) again to get the stored receipt instead of a second change; a different body under the same id is CONFLICT. |
profilebody | object | Yes | ProfileConfig fields to set over the workspace defaults (name, config, proxy_id, group_id, tag_ids, notes …) |
Examples
curl -X POST "https://browlix.com/api/public/v1/profiles" \
-H "Authorization: Bearer $BROWLIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"command_id":"<uuid>","profile":{"name":"Shop 01","config":{"os":"windows"}}}'Response
201 with { data, replayed: false, correlation_id } the first time; 200 with replayed: true when the same command_id and body come again.
| Field | Type | Always present | Description |
|---|---|---|---|
| data | object | Yes | |
| data.profile_id | string (uuid) | Yes | |
| data.number | integer | Yes | (min -9007199254740991, max 9007199254740991) |
| data.revision | integer | Yes | (min -9007199254740991, max 9007199254740991) |
| data.changed | array<string> | Yes | Fields that changed; empty when the edit was a no-op (revision kept) |
| correlation_id | string (uuid) | Yes | |
| replayed | boolean | No | true when this command_id was already applied and the stored receipt came back |
Errors
| Code | HTTP | Retryable |
|---|---|---|
| UNAUTHENTICATED | 401 | No |
| FORBIDDEN | 403 | No |
| RATE_LIMITED | 429 | Yes |
| VALIDATION_FAILED | 422 | No |
| CONFLICT | 409 | No |
| OUTCOME_UNKNOWN | 202 | Yes |
| DEPENDENCY_UNAVAILABLE | 503 | Yes |
| UNKNOWN | 500 | No |
