Mỗi tuyến dùng để làm gì, nhận gì, trả lời gì và mọi lời từ chối nó có thể đưa ra. Nhãn cạnh một thao tác cho biết bản dựng bạn tải về được hôm nay có trả lời nó hay không.
GET /v1/status
Có trong bản dựng đã phát hànhLiminal có đang chạy không, và đã có ai đăng nhập chưa
Lệnh gọi rẻ nhất, và là lệnh nên gọi lặp lại trong lúc bạn chờ ứng dụng. Nó trả lời cả khi không có tài khoản: signedIn bằng false là một trạng thái, không phải lỗi.
Tham số
Không có.
Phản hồi
{
"status": "running",
"version": "<version>",
"signedIn": true
}
Từ chối
- 401 invalid_key — Khóa bị thiếu, sai định dạng hoặc đã được tạo lại từ lúc đó.
GET /v1/profiles
Có trong bản dựng đã phát hànhCác hồ sơ trong danh mục, có lọc và phân trang
Đọc đúng danh mục mà ứng dụng hiển thị. Các bộ lọc kết hợp được với nhau, và bộ lọc nào cũng khớp chính xác trừ name: nó khớp với mọi hồ sơ có tên chứa nội dung bạn nhập, không phân biệt chữ hoa chữ thường.
Tham số
- pagequery · integer · tùy chọn · từ 1 đến 1000000 · mặc định là 1
- Đọc trang nào, đếm từ trang đầu tiên.
- pageSizequery · integer · tùy chọn · từ 1 đến 100 · mặc định là 100
- Một trang chứa bao nhiêu hồ sơ. Mức trần chính là giá trị mặc định.
- workspaceIdquery · string · tùy chọn
- Chỉ các hồ sơ của không gian làm việc đó.
- folderIdquery · string · tùy chọn
- Chỉ các hồ sơ của thư mục đó.
- statusquery · string · tùy chọn
- Chỉ các hồ sơ ở trạng thái đó; running là trạng thái của một hồ sơ đang mở.
- namequery · string · tùy chọn
- Chỉ các hồ sơ có tên chứa nội dung này, không phân biệt chữ hoa chữ thường.
Phản hồi
{
"page": 1,
"pageSize": 100,
"total": 1,
"items": [
"<profile>"
]
}
Từ chối
- 401 invalid_key — Khóa bị thiếu, sai định dạng hoặc đã được tạo lại từ lúc đó.
- 403 not_signed_in — Chưa có ai đăng nhập vào ứng dụng; các thao tác với danh mục cần tài khoản.
- 403 team_closed — Nhóm đang dùng đã bị đóng: hãy gia hạn gói của nhóm hoặc chuyển sang nhóm khác.
- 503 catalog_loading — Danh mục hồ sơ vẫn đang tải. Hãy hỏi lại.
- 503 catalog_unavailable — Ứng dụng không mở được danh mục hồ sơ.
- 400 invalid_pagination — page hoặc pageSize nằm ngoài khoảng được chấp nhận.
GET /v1/profiles/{id}
Có trong bản dựng đã phát hànhMột hồ sơ, kèm proxy và dấu vân tay của nó
Cùng đối tượng mà danh sách trả về, cho một mã định danh. Địa chỉ proxy được hiển thị; mật khẩu của nó thì không bao giờ.
Tham số
- idpath · string · bắt buộc
- Mã định danh của hồ sơ, đúng như các thao tác với danh mục trả về.
Phản hồi
{
"id": "<profile-id>",
"name": "Shop EU",
"workspaceId": "<workspace-id>",
"folderId": "<folder-id>",
"status": "running",
"health": "ok",
"proxy": {
"id": "<proxy-id>",
"name": "Residential DE",
"type": "socks5",
"host": "proxy.example.net",
"port": 1080,
"working": true,
"lastCheckedExternalIp": "203.0.113.10",
"lastCheckedCountryCode": "DE"
},
"fingerprint": {
"platform": "MacIntel",
"language": "de-DE",
"timezone": "Europe/Berlin"
},
"lastOpenedAt": "2026-09-30T08:15:00.000Z"
}
Từ chối
- 401 invalid_key — Khóa bị thiếu, sai định dạng hoặc đã được tạo lại từ lúc đó.
- 403 not_signed_in — Chưa có ai đăng nhập vào ứng dụng; các thao tác với danh mục cần tài khoản.
- 403 team_closed — Nhóm đang dùng đã bị đóng: hãy gia hạn gói của nhóm hoặc chuyển sang nhóm khác.
- 503 catalog_loading — Danh mục hồ sơ vẫn đang tải. Hãy hỏi lại.
- 503 catalog_unavailable — Ứng dụng không mở được danh mục hồ sơ.
- 404 profile_not_found — Không có hồ sơ nào mang mã định danh đó trong danh mục.
POST /v1/profiles/{id}/start
Có trong bản dựng đã phát hànhMở một hồ sơ và nhận địa chỉ để driver kết nối
Khởi động hồ sơ theo cách ứng dụng vẫn làm — dấu vân tay, proxy, cookie của nó — và trả về địa chỉ CDP khi trình duyệt đã lên. Lệnh gọi này chờ; nó không trả về một tác vụ để bạn phải hỏi lại.
Tham số
- idpath · string · bắt buộc
- Mã định danh của hồ sơ, đúng như các thao tác với danh mục trả về.
- debugPortbody · integer · tùy chọn · từ 1024 đến 65534 · mặc định là 0
- Cổng mà điểm cuối CDP gắn vào. 0 để ứng dụng tự chọn một cổng trống; mọi giá trị khác phải là cổng mà người dùng của bạn gắn được.
- timeoutSecondsbody · integer · tùy chọn · từ 1 đến 180 · mặc định là 60
- Lệnh gọi chờ hồ sơ khởi động bao lâu trước khi bỏ cuộc.
- maskAutomationbody · boolean · tùy chọn · mặc định là true
- Chỉ chấp nhận true. Không thể tắt việc che giấu tự động hóa: hồ sơ do script điều khiển cũng chính là hồ sơ mà trang web thấy khi bạn mở nó bằng tay.
Phản hồi
{
"id": "<profile-id>",
"status": "running",
"cdpDiscoveryUrl": "http://127.0.0.1:48361/devtools/<token>/json/version",
"cdpBrowserUrl": "ws://127.0.0.1:9222/devtools/browser/<token>",
"seleniumDebuggerUrl": "127.0.0.1:9222",
"chromedriverPath": "/Applications/Liminal.app/.../chromedriver",
"debugPort": 9222,
"debugAddress": "127.0.0.1:9222",
"externalIp": "203.0.113.10",
"countryCode": "DE"
}
Từ chối
- 401 invalid_key — Khóa bị thiếu, sai định dạng hoặc đã được tạo lại từ lúc đó.
- 403 not_signed_in — Chưa có ai đăng nhập vào ứng dụng; các thao tác với danh mục cần tài khoản.
- 503 runtime_unavailable — Lúc này ứng dụng không thể khởi động hoặc dừng hồ sơ.
- 403 team_closed — Nhóm đang dùng đã bị đóng: hãy gia hạn gói của nhóm hoặc chuyển sang nhóm khác.
- 503 catalog_loading — Danh mục hồ sơ vẫn đang tải. Hãy hỏi lại.
- 503 catalog_unavailable — Ứng dụng không mở được danh mục hồ sơ.
- 404 profile_not_found — Không có hồ sơ nào mang mã định danh đó trong danh mục.
- 409 profile_already_running — Hồ sơ đã mở sẵn, một lần khởi động nó vẫn đang chạy, hoặc địa chỉ driver cấp trước đó vẫn còn dùng được.
- 400 invalid_start_options — Phần thân không phải là một đối tượng JSON.
- 400 invalid_port — debugPort không phải 0 cũng không phải một cổng trong khoảng được chấp nhận.
- 400 invalid_start_timeout — timeoutSeconds nằm ngoài khoảng được chấp nhận.
- 400 masking_unavailable — maskAutomation được gửi là false, điều mà ứng dụng không hỗ trợ.
- 409 port_in_use — Cổng gỡ lỗi bạn yêu cầu đã bị chiếm.
- 409 listen_failed — Không gắn được vào cổng gỡ lỗi vì một lý do khác.
- 409 start_failed — Hồ sơ không khởi động được. Trường
detail an toàn nêu tên giai đoạn khi ứng dụng nói được. - 409 proxy_unavailable — Hồ sơ bắt buộc dùng proxy của nó, mà proxy không trả lời.
- 502 start_failed — Việc chuẩn bị hồ sơ thất bại trước khi trình duyệt được yêu cầu khởi động.
- 503 cdp_unavailable — Hồ sơ đã khởi động nhưng điểm cuối CDP của nó không lên.
- 504 start_timeout — Hồ sơ không khởi động xong trong khoảng timeoutSeconds.
POST /v1/profiles/{id}/attach-automation
Có trong bản dựng đã phát hànhLấy địa chỉ driver cho một hồ sơ đã mở sẵn
Dành cho hồ sơ bạn đã mở bằng tay và giờ muốn điều khiển. Nó không khởi động lại gì cả: phiên, các thẻ và cookie vẫn giữ nguyên.
Tham số
- idpath · string · bắt buộc
- Mã định danh của hồ sơ, đúng như các thao tác với danh mục trả về.
- debugPortbody · integer · tùy chọn · từ 1024 đến 65534 · mặc định là 0
- Cổng mà điểm cuối CDP gắn vào. 0 để ứng dụng tự chọn một cổng trống; mọi giá trị khác phải là cổng mà người dùng của bạn gắn được.
- timeoutSecondsbody · integer · tùy chọn · từ 1 đến 180 · mặc định là 60
- Lệnh gọi chờ hồ sơ khởi động bao lâu trước khi bỏ cuộc.
- maskAutomationbody · boolean · tùy chọn · mặc định là true
- Chỉ chấp nhận true. Không thể tắt việc che giấu tự động hóa: hồ sơ do script điều khiển cũng chính là hồ sơ mà trang web thấy khi bạn mở nó bằng tay.
Phản hồi
{
"id": "<profile-id>",
"status": "running",
"cdpDiscoveryUrl": "http://127.0.0.1:48361/devtools/<token>/json/version",
"cdpBrowserUrl": "ws://127.0.0.1:9222/devtools/browser/<token>",
"seleniumDebuggerUrl": "127.0.0.1:9222",
"chromedriverPath": "/Applications/Liminal.app/.../chromedriver",
"debugPort": 9222,
"debugAddress": "127.0.0.1:9222",
"externalIp": "203.0.113.10",
"countryCode": "DE"
}
Từ chối
- 401 invalid_key — Khóa bị thiếu, sai định dạng hoặc đã được tạo lại từ lúc đó.
- 403 not_signed_in — Chưa có ai đăng nhập vào ứng dụng; các thao tác với danh mục cần tài khoản.
- 503 runtime_unavailable — Lúc này ứng dụng không thể khởi động hoặc dừng hồ sơ.
- 403 team_closed — Nhóm đang dùng đã bị đóng: hãy gia hạn gói của nhóm hoặc chuyển sang nhóm khác.
- 503 catalog_loading — Danh mục hồ sơ vẫn đang tải. Hãy hỏi lại.
- 503 catalog_unavailable — Ứng dụng không mở được danh mục hồ sơ.
- 404 profile_not_found — Không có hồ sơ nào mang mã định danh đó trong danh mục.
- 409 profile_already_running — Hồ sơ đã mở sẵn, một lần khởi động nó vẫn đang chạy, hoặc địa chỉ driver cấp trước đó vẫn còn dùng được.
- 400 invalid_start_options — Phần thân không phải là một đối tượng JSON.
- 400 invalid_port — debugPort không phải 0 cũng không phải một cổng trong khoảng được chấp nhận.
- 400 invalid_start_timeout — timeoutSeconds nằm ngoài khoảng được chấp nhận.
- 400 masking_unavailable — maskAutomation được gửi là false, điều mà ứng dụng không hỗ trợ.
- 409 port_in_use — Cổng gỡ lỗi bạn yêu cầu đã bị chiếm.
- 409 listen_failed — Không gắn được vào cổng gỡ lỗi vì một lý do khác.
- 409 start_failed — Hồ sơ không khởi động được. Trường
detail an toàn nêu tên giai đoạn khi ứng dụng nói được. - 409 proxy_unavailable — Hồ sơ bắt buộc dùng proxy của nó, mà proxy không trả lời.
- 502 start_failed — Việc chuẩn bị hồ sơ thất bại trước khi trình duyệt được yêu cầu khởi động.
- 503 cdp_unavailable — Hồ sơ đã khởi động nhưng điểm cuối CDP của nó không lên.
- 504 start_timeout — Hồ sơ không khởi động xong trong khoảng timeoutSeconds.
- 409 profile_not_running — Hồ sơ chưa mở, nên không có gì để gắn vào.
POST /v1/profiles/{id}/stop
Có trong bản dựng đã phát hànhĐóng một hồ sơ theo cách cửa sổ của nó vẫn đóng
Để phiên ghi xong trạng thái của mình. Đây là lệnh nên gọi giữa các lần chạy script trên cùng một hồ sơ.
Tham số
- idpath · string · bắt buộc
- Mã định danh của hồ sơ, đúng như các thao tác với danh mục trả về.
Phản hồi
{
"id": "<profile-id>",
"status": "closed"
}
Từ chối
- 401 invalid_key — Khóa bị thiếu, sai định dạng hoặc đã được tạo lại từ lúc đó.
- 403 not_signed_in — Chưa có ai đăng nhập vào ứng dụng; các thao tác với danh mục cần tài khoản.
- 503 runtime_unavailable — Lúc này ứng dụng không thể khởi động hoặc dừng hồ sơ.
- 403 team_closed — Nhóm đang dùng đã bị đóng: hãy gia hạn gói của nhóm hoặc chuyển sang nhóm khác.
- 503 catalog_loading — Danh mục hồ sơ vẫn đang tải. Hãy hỏi lại.
- 503 catalog_unavailable — Ứng dụng không mở được danh mục hồ sơ.
- 404 profile_not_found — Không có hồ sơ nào mang mã định danh đó trong danh mục.
- 409 profile_not_running — Hồ sơ chưa mở, nên không có gì để đóng.
- 409 stop_failed — Ứng dụng không đóng được hồ sơ.
POST /v1/profiles/{id}/force-stop
Có trong bản dựng đã phát hànhĐóng một hồ sơ không chịu đóng
Cùng phản hồi đó, nhưng không chờ phiên ổn định lại. Hãy dùng nó khi một lệnh dừng không trả về, đừng dùng như thói quen.
Tham số
- idpath · string · bắt buộc
- Mã định danh của hồ sơ, đúng như các thao tác với danh mục trả về.
Phản hồi
{
"id": "<profile-id>",
"status": "closed"
}
Từ chối
- 401 invalid_key — Khóa bị thiếu, sai định dạng hoặc đã được tạo lại từ lúc đó.
- 403 not_signed_in — Chưa có ai đăng nhập vào ứng dụng; các thao tác với danh mục cần tài khoản.
- 503 runtime_unavailable — Lúc này ứng dụng không thể khởi động hoặc dừng hồ sơ.
- 403 team_closed — Nhóm đang dùng đã bị đóng: hãy gia hạn gói của nhóm hoặc chuyển sang nhóm khác.
- 503 catalog_loading — Danh mục hồ sơ vẫn đang tải. Hãy hỏi lại.
- 503 catalog_unavailable — Ứng dụng không mở được danh mục hồ sơ.
- 404 profile_not_found — Không có hồ sơ nào mang mã định danh đó trong danh mục.
- 409 profile_not_running — Hồ sơ chưa mở, nên không có gì để đóng.
- 409 stop_failed — Ứng dụng không đóng được hồ sơ.
GET /v1/running-profiles
Có trong bản dựng đã phát hànhNhững gì đang mở lúc này, và những gì điều khiển được
Mọi hồ sơ đang mở, dù do cửa sổ hay do lệnh gọi mở ra — startedBy cho biết bên nào — kèm địa chỉ driver khi có. Hãy kết nối lại từ đây sau khi script của bạn khởi động lại.
Tham số
Không có.
Phản hồi
{
"items": [
{
"id": "<profile-id>",
"workspaceId": "<workspace-id>",
"status": "running",
"automationAvailable": true,
"startedBy": "api",
"cdpBrowserUrl": "ws://127.0.0.1:9222/devtools/browser/<token>",
"seleniumDebuggerUrl": "127.0.0.1:9222",
"chromedriverPath": "/Applications/Liminal.app/.../chromedriver",
"debugPort": 9222,
"debugAddress": "127.0.0.1:9222"
}
]
}
Từ chối
- 401 invalid_key — Khóa bị thiếu, sai định dạng hoặc đã được tạo lại từ lúc đó.
- 403 not_signed_in — Chưa có ai đăng nhập vào ứng dụng; các thao tác với danh mục cần tài khoản.
- 403 team_closed — Nhóm đang dùng đã bị đóng: hãy gia hạn gói của nhóm hoặc chuyển sang nhóm khác.
- 503 catalog_loading — Danh mục hồ sơ vẫn đang tải. Hãy hỏi lại.
- 503 catalog_unavailable — Ứng dụng không mở được danh mục hồ sơ.