Skip to main content
POST
/
identities
/
{identity_uid}
/
integrations
/
linkedin
/
checkpoint
Resolve a Checkpoint or check for in-app resolution.
curl --request POST \
  --url https://api.edges.run/v1/identities/{identity_uid}/integrations/linkedin/checkpoint \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '{
  "code": "925632"
}'
{
"auth_type": "COOKIES",
"setup_source": "API",
"is_shared": false,
"name": "John Doe's Example Integration Account",
"uid": "123e4567-e89b-12d3-a456-426614174000",
"integration_permalink": "example-integration",
"created_at": "2023-10-01T12:00:00Z",
"level": "Classic",
"identity_uid": "5678e456-e89b-12d3-a456-426614174001",
"meta": {
"key": "value"
}
}
This endpoint resolves LinkedIn authentication checkpoints that occur during the login process. LinkedIn may require additional verification steps to complete the authentication.

Checkpoint Types

LinkedIn may present different types of checkpoints during authentication. Here’s how to handle each one:

IN_APP_VALIDATION - Mobile App Approval

The user must approve the login in their LinkedIn mobile app.
For IN_APP_VALIDATION checkpoints:
  1. User Action: The user must approve the login in their LinkedIn mobile app
  2. Your Action: Poll this endpoint with an empty request body {}
  3. Timing: Check every 5-10 seconds with a maximum timeout of 5 minutes
  4. Completion: Stop when you receive a success response or permanent error
Note: No verification code is required for mobile app authentication.

2FA - Two-Factor Authentication

Two-factor authentication via authenticator app.
  • Action: Provide the 6-digit code from the user’s authenticator app
  • Timing: Codes expire quickly, so prompt users to provide them promptly
  • Request: Send the code in the request body: {"code": "123456"}

OTP - One-Time Password (SMS)

One-time password sent via SMS to the user’s phone number.
  • Action: Provide the SMS code sent to the user’s phone
  • Timing: Codes typically expire within 10-15 minutes
  • Request: Send the code in the request body: {"code": "123456"}

EMAIL - Email Verification

Verification code sent to the user’s email address.
  • Action: Provide the code sent to the user’s registered email
  • Note: Check spam/junk folders if the email doesn’t arrive
  • Request: Send the code in the request body: {"code": "123456"}

PHONE_REGISTER - Phone Number Verification

Phone number verification required by LinkedIn.
  • Action: User needs to verify their phone number with LinkedIn
  • Note: May require providing a new phone number or confirming existing one
  • Request: Send any required verification code: {"code": "123456"}

CAPTCHA - Visual/Audio Challenge

Visual or audio challenge to prove human interaction.
  • Action: LinkedIn’s automated system will attempt to solve this
  • Note: May take time and could fail - retry the authentication if needed
  • Request: Usually no code required, but may need to retry the original authentication

LOGIN_FORM - Additional Login Fields

Additional login form fields required by LinkedIn.
  • Action: LinkedIn may request additional information (security questions, etc.)
  • Note: Contact support if this checkpoint type is encountered
  • Request: Contact support with the identity_uid for assistance

UNKNOWN - Unrecognized Checkpoint

Unrecognized checkpoint type.
  • Action: Contact support with the identity_uid for assistance
  • Note: This may indicate a new checkpoint type that needs to be handled

Request Examples

For checkpoint types requiring codes:
{
  "code": "123456"
}
For IN_APP_VALIDATION checkpoints:
{}

Error Handling

  • IN_APP_CHALLENGE_PENDING: Continue polling for IN_APP_VALIDATION checkpoints
  • IN_APP_CHALLENGE_EXPIRED: Restart the authentication process
  • 2FA_VALIDATION_EXPIRED: Restart the authentication process
  • CHECKPOINT_MISSING_DATA: Restart the authentication process
  • INVALID_CODE: The provided code is incorrect, try again

Authorizations

X-API-Key
string
header
required

API key required for authentication. Add your API key in the X-API-Key header.

Path Parameters

identity_uid
string<uuid>
required

Body

application/json
code
string | null

Response

Successfully created a new account.

identity_uid
string<uuid>
required
status
enum<string>
required
Available options:
VALID,
INVALID,
PENDING,
LIMIT_REACHED
auth_type
enum<string> | null
Available options:
BASIC,
OAUTH,
COOKIES,
APIKEY
setup_source
enum<string> | null
Available options:
MANUAL,
EXTENSION,
SHARED,
API
is_shared
boolean
default:false
name
string | null
uid
string<uuid>
created_at
string<date-time>
default:2025-10-01T00:00:00Z
updated_at
string<date-time> | null
level
string | null
user_uid
string<uuid> | null
meta
object | null
error
string | null
I