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_updated
sort_type
:asc
ordesc
page
: 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_updated
sort_type
:asc
ordesc
page
: 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