Developer/API
API documentation for interacting with OmniLogin features. API calls return these statuses:
- 200: Success
- 400: Syntax error
- 404: Resource not found
- 500: Server error or invalid characters
Only include body values you want to modify; omit unchanged ones.
Browser
Open Browser
Open a profile using GET with these parameters:
profile_id: Profile ID to openremote_debug_port: Port to use (random if empty, 1-65536 range)scale: Scale UI (e.g., zoom level, regardless of screen/OS)headless: Open without showing window (true/false)addition_args: Additional args (e.g., ?addition_args=[arg1]&addition_args=[arg2], see here)
Example: Open profile ID 21696 with the browser window visible: http://localhost:35353/open?profile_id=21696&headless=false
Close Browser by Profile ID
Close a profile by ID using GET.
Example: Close profile ID 19092: http://localhost:35353/stop/19092
Proxy
Get Proxies
Search proxies by name, date_created, date_updated, sort order, page, and page size.
Example: Find proxies named "proxy1", ascending, page 1, size 20: http://localhost:35353/proxies?sort=name&sort_type=desc&page=1&pageSize=20&q=proxy1
Add New Proxy
Add a proxy using POST with body values:
name: Proxy name (string)proxy_type: Type (string,HTTPS,HTTP,Socks5)host: Proxy host (string)port: Proxy port (number)user_name: Username (string)password: Password (string)
Example: Add proxy "pro2", HTTPS, host "123.456.789.012", port 12345, user "adminomni", pass "adminthomas": http://localhost:35353/proxies with body:
{
"name": "pro2",
"proxy_type": "HTTPS",
"host": "123.456.789.012",
"port": 12345,
"user_name": "adminomni",
"password": "adminthomas"
}Get a Proxy by ID
Get a proxy by ID using GET.
Example: Get proxy ID 189: http://localhost:35353/proxies/189
Update an existing proxy
Update a proxy using PUT with body values (same as Add New Proxy).
Example: Update proxy ID 189 from "pro2" to "pro21", HTTP, host "121.456.789.012", user "adminomni1", pass "adminthomas1": http://localhost:35353/proxies/189 with body:
{
"name": "pro21",
"proxy_type": "HTTP",
"host": "121.456.789.012",
"port": 12345,
"user_name": "adminomni1",
"password": "adminthomas1"
}Delete Proxy
Delete a proxy by ID using DELETE.
Example: Delete proxy ID 189: http://localhost:35353/proxies/189
Profile
Get All Profiles
Search profiles by:
sort:name,date_created,date_updatedsort_type:ascordescpage: Page numberpageSize: Items per pageq: Search byname,date_created, ordate_updated
Example: Find profiles named "123edaksjd", ascending, page 1, size 20: http://localhost:35353/profiles?sort=name&sort_type=desc&page=1&pageSize=20&q=123edaksjd
Add New Profile
Create a profile using POST with body values:
name: Profile name (string)account: Profile details (notes, cookie, userDataType, userData)fingerprint: Timezone, tzValue, web_rtc, public_ip, screen_resolution, fonts, canvas, web_gl_image_type, web_gl_type, audio_context, client_rects, lang, operating_system, user_agent, omni_browser_versionembedded_proxy: Proxy details (name, proxy_type, host, port, user_name, password)idProxy: Proxy ID from Proxy Managementdest_url: Default URL on opengroup: Group ID
Example: Create profile "rjwdn13" in group ID 1, auto-generate rest: http://localhost:35353/profiles with body:
{
"name": "rjwdn13",
"group": { "id": "1" }
}Example with custom operating_system and omni_browser_version:
{
"name": "rjwdn13",
"fingerprint": {
"operating_system": "android",
"omni_browser_version": "63"
},
"group": { "id": "1" }
}Add a new profile based on select profile
Clone a profile using POST with body values (name, account, embedded_proxy, idProxy).
Example: Clone profile ID 21702 to "iqwends1214": http://localhost:35353/profiles/21702/clone with body:
{ "name": "iqwends1214" }Get a profile by id
Get a profile by ID using GET.
Example: Get profile ID 21703: http://localhost:35353/profiles/21703
Deletes a Profile
Delete a profile by ID using DELETE.
Example: Delete profile ID 21703 with data: http://localhost:35353/profiles/21703?deleteData=y
Update name an existing profile
Update a profile name using PUT with body { "name": "newName" }.
Example: Rename profile ID 21702 from "213adsnasd" to "jbdkjadqe": http://localhost:35353/profiles/21702/name with body:
{ "name": "jbdkjadqe" }Update status of an existing profile
Update profile status (e.g., "red", "blue", or Hex #00FFF) using PUT with body { "status": "color" }.
Example: Set profile ID 21702 to "red": http://localhost:35353/profiles/21702/status with body:
{ "status": "red" }Update disabled Proxy Status of profile
Toggle proxy (true=disable, false=enable) using PUT with body { "disabled": boolean }.
Example: Enable proxy for profile ID 21702: http://localhost:35353/profiles/21702/disable-proxy with body:
{ "disabled": false }Update tags of an existing profile
Update tags for profiles using PUT with body { "tags": [], "ids": [], "append": boolean }.
Example: Add tag "test1" to profile ID 21702: http://localhost:35353/profiles/tags with body:
{ "tags": ["test1"], "ids": ["21702"], "append": true }Example: Add tags "test2", "test3", "test4" to IDs 21702, 21704, 21705:
{ "tags": ["test2", "test3", "test4"], "ids": ["21702", "21704", "21705"], "append": true }Update fingerprint an existing profile
Update fingerprint using PUT with body (same fingerprint fields as Add New Profile).
Example: Change omni_browser_version to 60 for profile ID 21702: http://localhost:35353/profiles/21702/fingerprint with body:
{ "omni_browser_version": "60" }Change Proxy for Profiles
Assign a proxy from Proxy Management using PUT with body { "proxyId": string, "profileIds": [] }.
Example: Set proxy ID 190 for profile ID 21702: http://localhost:35353/profiles/proxy with body:
{ "proxyId": "190", "profileIds": ["21702"] }Example: Set for IDs 21702, 21703:
{ "proxyId": "190", "profileIds": ["21702", "21703"] }Change Embedded Proxy for Profiles
Update with a new proxy using PUT with body { "proxy": {...}, "profileIds": [] } (same proxy fields as Add New Proxy).
Example: Update proxy for ID 21702 from "pro2" to "pro21": http://localhost:35353/profiles/embedded-proxy with body:
{
"proxy": {
"name": "pro21",
"proxy_type": "HTTP",
"host": "121.456.789.012",
"port": 12345,
"user_name": "adminomni1",
"password": "adminthomas1"
},
"profileIds": ["21702"]
}Example: Update for IDs 21702, 21704:
{
"proxy": {
"name": "pro21",
"proxy_type": "HTTP",
"host": "121.456.789.012",
"port": 12345,
"user_name": "adminomni1",
"password": "adminthomas1"
},
"profileIds": ["21702", "21704"]
}Group
Get Groups
Search groups by:
sort:name,date_created,date_updatedsort_type:ascordescpage: Page numberpageSize: Items per pageq: Search byname,date_created, ordate_updated
Example: Find groups named "script1", ascending, page 1, size 50: http://localhost:35353/groups?sort=name&sort_type=asc&page=1&pageSize=50&q=script1
Add a New Group
Add a group using POST with body { "name": "groupName" }.
Example: Add group "nhom111": http://localhost:35353/groups with body:
{ "name": "nhom111" }Get Group by ID
Get a group by ID using GET.
Example: Get group ID 12: http://localhost:35353/groups/12
Update an existing group
Update a group name using PUT with body { "name": "newName" }.
Example: Rename group ID 12 to "nhom111": http://localhost:35353/groups/12 with body:
{ "name": "nhom111" }Delete a Group
Delete a group by ID using DELETE.
Example: Delete group ID 12: http://localhost:35353/groups/12
Automation
Start Workflow
Run a workflow by ID from Copy Workflow ID using POST.
Example: Start workflow ID de75360c-0231-45fb-9cca-4c35ad259ff8: http://localhost:35353/automation/workflow/de75360c-0231-45fb-9cca-4c35ad259ff8/start
Stop a Workflow
Stop a workflow by ID using PUT.
Example: Stop workflow ID de75360c-0231-45fb-9cca-4c35ad259ff8: http://localhost:35353/automation/workflow/de75360c-0231-45fb-9cca-4c35ad259ff8/stop
Stop All Running Workflows
Stop all running workflows using PUT.
Example: http://localhost:35353/automation/workflow/stop
Get status of a task
Get workflow status using taskId from Start Workflow with GET.
Example: Check status for task ID 2025042917425399118: http://localhost:35353/automation/task/2025042917425399118/status
