Skip to main content
POST/api/public/v1/bindings

bindings.create

Bind an app account to a profile; one binding per (app_id, external_account_id), a second is CONFLICT with the existing binding_id. metadata (at most 4 KiB) cannot hold credentials.

Capability: profile.editCommand (idempotent)MCP tool: bindings_create
View as Markdown

Parameters

NameTypeRequiredDescription
command_idbodystring (uuid)YesClient-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.
app_idbodystringYesYour app's id, e.g. fb-poster
external_account_idbodystringYesThe account's id inside your app (no secrets) (min length 1, max length 200)
profile_idbodystring (uuid)Yes
labelbodystringNo(max length 120)
metadatabodyobjectNoAt most 4 KiB of your own non-secret data; keys that look like credentials (password, token, cookie, secret, otp, auth, api key) are refused

Examples

curl -X POST "https://browlix.com/api/public/v1/bindings" \
  -H "Authorization: Bearer $BROWLIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"command_id":"<uuid>","app_id":"<app_id>","external_account_id":"<external_account_id>","profile_id":"<profile_id>"}'

Response

201 with { data, replayed: false, correlation_id } the first time; 200 with replayed: true when the same command_id and body come again.

FieldTypeAlways presentDescription
dataobjectYes
data.idstring (uuid)Yes
data.app_idstringYes
data.external_account_idstringYes
data.labelstring | nullYes
data.profile_idstring (uuid)Yes
data.profileobject | nullYes
data.profile.idstring (uuid)Yes
data.profile.os"windows" | "linux"Yes
data.profile.namestringYes
data.profile.statestringYes
data.profile.numberintegerYes(min -9007199254740991, max 9007199254740991)
data.metadataobjectYes
data.revisionintegerYes(min -9007199254740991, max 9007199254740991)
data.created_atstring (date-time)Yes
data.updated_atstring (date-time)Yes
correlation_idstring (uuid)Yes
replayedbooleanNotrue when this command_id was already applied and the stored receipt came back

New fields can appear at any time; ignore the ones you do not know.

Errors

CodeHTTPRetryable
UNAUTHENTICATED401No
FORBIDDEN403No
RATE_LIMITED429Yes
VALIDATION_FAILED422No
CONFLICT409No
OUTCOME_UNKNOWN202Yes
DEPENDENCY_UNAVAILABLE503Yes
UNKNOWN500No

Every error code and when to retry

All operations