Create a LinkedIn browser "seat" bound to a sender profile. This is step 2 of connecting a LinkedIn account without the user ever logging into Grinfi:
Create a sender profile —
POST /flows/api/sender-profiles.Create a seat here (
sender_profile_uuid). It starts instatus: stopped,linkedin_account_uuid: null.Generate a Smart Login link —
generate-external-access-key.Give that link to the account owner; they log into LinkedIn in the hosted cloud browser. The seat transitions to
runningautomatically.Poll
.../listuntillinkedin_account_uuidis populated (= connected).
Do NOT call run (start) on a freshly created, never-logged-in seat — it pushes the seat into login_issue. The backend starts it automatically once login completes.
curl -i -X POST \
https://leadgen.grinfi.io/browsers/api/linkedin-browsers \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"sender_profile_uuid": "string",
"proxy_country_code": "US"
}'LinkedIn browser created.
{ "id": 0, "team_id": 0, "sender_profile_uuid": "string", "linkedin_account_uuid": "string", "external_id": "string", "name": "string", "shared_emails": [ "string" ], "linkedin_automation_server_id": 0, "linkedin_proxy_id": 0, "proxy_country_code": "string", "custom_proxy_config": [ {} ], "schedule": { "timezone": "Europe/Berlin", "use_lead_timezone": false, "timeblocks": [ … ] }, "linkedin_login": "string", "linkedin_password": "string", "ln_code": "string", "browser_owner": "string", "status": "running", "error_reason": "string", "user_id": 0, "last_start_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }