Folders
Distinct, non-empty folder tags across persistent profiles.
Permanent JWT from Settings → Automation API.
Folder names.
["work","scrapers"]Missing or invalid Bearer token.
GET /folders HTTP/1.1
Host: 127.0.0.1:40325
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
"work",
"scrapers"
]Deletes the folder tag. With delete_profiles=true the profiles in it are deleted too; otherwise they're unfiled (moved to "All").
Permanent JWT from Settings → Automation API.
Delete the profiles in the folder (default false = unfile).
falseDeleted.
Profiles affected.
Missing or invalid Bearer token.
DELETE /folders/{folder} HTTP/1.1
Host: 127.0.0.1:40325
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"deleted_folder": "text",
"delete_profiles": true,
"profiles": 1
}Retags every profile in the folder. Returns the count.
Permanent JWT from Settings → Automation API.
New folder name.
Renamed.
Profiles retagged.
Missing or invalid Bearer token.
PATCH /folders/{folder} HTTP/1.1
Host: 127.0.0.1:40325
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}{
"renamed_to": "text",
"profiles": 1
}Same as POST /profiles, but the folder comes from the path (overriding any folder in the body).
Permanent JWT from Settings → Automation API.
Bind a proxy already in the store (by id).
Attach a proxy by string (host:port:user:pass or
scheme://user:pass@host:port). On a persistent profile it is
added to the proxy store (deduped by endpoint) and full-tested
(UDP + geo), then bound by id — so it appears in the proxy list
and QUIC/WebRTC gating has a cached result. On a temporary
profile it is attached inline (not stored). Ignored if proxy_id
is set.
socks5://user:pass@1.2.3.4:1080Folder tag (ignored on /folders/{folder}/profiles, which wins).
Created profile metadata.
Launcher-facing profile metadata (returned by create).
ISO-8601 or null.
Missing/!object fingerprint, or an unparseable proxy string.
Missing or invalid Bearer token.
POST /folders/{folder}/profiles HTTP/1.1
Host: 127.0.0.1:40325
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1157
{
"name": "text",
"notes": "text",
"proxy_id": "text",
"proxy": "socks5://user:pass@1.2.3.4:1080",
"folder": "text",
"fingerprint": {
"name": "text",
"notes": "text",
"seed": 1,
"navigator": {
"user_agent": "text",
"platform": "Win32",
"hardware_concurrency": 12,
"device_memory": 16,
"language": "text",
"do_not_track": true,
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"screen": {
"width": 1,
"height": 1,
"avail_width": 1,
"avail_height": 1,
"color_depth": 24,
"device_pixel_ratio": 2,
"color_gamut": "",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"client_hints": {
"platform": "text",
"platform_version": "text",
"architecture": "x86",
"bitness": "64",
"mobile": true,
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"webgl": {
"unmasked_vendor": "text",
"unmasked_renderer": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"webgpu": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"webrtc": "auto",
"noise": {
"canvas": {
"enabled": true,
"seed": 1
},
"webgl": {
"intensity": 1,
"enabled": true,
"seed": 1
},
"audio": {
"intensity": 1,
"enabled": true,
"seed": 1
},
"client_rects": {
"max_offset": 1,
"enabled": true,
"seed": 1
},
"sensors": {
"enabled": true,
"seed": 1
},
"fonts": {
"enabled": true,
"seed": 1
}
},
"network": {
"blocked_ports": [
1
]
},
"timezone": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"notes": "text",
"proxy_id": "text",
"last_launched_at": "text",
"created_at": "text",
"pinned": true,
"folder": "text"
}Останнє оновлення
Це було корисно?

