Is LinkedIn giving you a headache?

    You were probably searching for a fix for that obscure LinkedIn error.But maybe you found something better.

    Stop debugging. Start coordinating.

    Qordinate acts as your intelligent layer between apps like LinkedIn and your life. We handle the messy API connections and coordination so you can focus on what actually matters.

    LinkedIn Integration Terminal Errors

    Authentication Errors

    invalid_request

    HTTP 400 Bad Request
    {
      "error": "invalid_request",
      "error_description": "Missing required parameter: client_id"
    }
    

    unauthorized_client

    HTTP 400 Bad Request
    {
      "error": "unauthorized_client",
      "error_description": "The client is not authorized to request an authorization code using this method"
    }
    

    access_denied

    HTTP 403 Forbidden
    {
      "error": "access_denied",
      "error_description": "The user has denied your application access"
    }
    

    API Errors

    403 Forbidden

    HTTP 403 Forbidden
    {
      "serviceErrorCode": 100,
      "message": "Not enough permissions to access: GET /v2/people/~",
      "status": 403
    }
    

    404 Not Found

    HTTP 404 Not Found
    {
      "serviceErrorCode": 0,
      "message": "Person not found",
      "status": 404
    }
    

    429 Too Many Requests

    HTTP 429 Too Many Requests
    {
      "serviceErrorCode": 0,
      "message": "Throttle limit for calls to this resource is reached",
      "status": 429
    }
    X-Li-Format: json
    X-RestLi-Protocol-Version: 2.0.0
    

    SDK-Specific Errors

    Python SDK: linkedin.LinkedInError

    Traceback (most recent call last):
      File "linkedin_script.py", line 12, in <module>
        api = linkedin.LinkedInAPI(client_id='invalid', client_secret='invalid')
      File "/usr/local/lib/python3.9/site-packages/linkedin/api.py", line 45, in __init__
        api.authenticate()
      File "/usr/local/lib/python3.9/site-packages/linkedin/api.py", line 78, in authenticate
        raise LinkedInError('invalid_client', 'The OAuth client was not found.')
    linkedin.LinkedInError: invalid_client: The OAuth client was not found.
    

    Node.js SDK: LinkedInAPIError

    LinkedInAPIError: Not enough permissions to access: GET /v2/people/~
        at LinkedInAPI._request (/node_modules/linkedin-api-client/dist/client.js:234:19)
        at processTicksAndRejections (internal/process/task_queues.js:95:5)
        at async LinkedInAPI.getProfile (/node_modules/linkedin-api-client/dist/api.js:123:12)
        at async main (/app/index.js:23:18)
    {
      statusCode: 403,
      body: {
        serviceErrorCode: 100,
        message: 'Not enough permissions to access: GET /v2/people/~',
        status: 403
      },
      headers: {
        'x-li-format': 'json',
        'x-restli-protocol-version': '2.0.0'
      }
    }
    

    LinkedIn-Specific Errors

    EMPTY_CONSTRAINT_EXCEPTION

    HTTP 400 Bad Request
    {
      "serviceErrorCode": 12,
      "message": "com.linkedin.common.error.EMPTY_CONSTRAINT_EXCEPTION: Empty constraint passed for field urn:li:adAccount:123456",
      "status": 400
    }
    

    INVALID_URN_SYNTAX

    HTTP 400 Bad Request
    {
      "serviceErrorCode": 13,
      "message": "com.linkedin.common.error.INVALID_URN_SYNTAX: Invalid URN syntax: invalid_urn_format",
      "status": 400
    }
    

    ACCESS_DENIED_EXCEPTION

    HTTP 403 Forbidden
    {
      "serviceErrorCode": 100,
      "message": "com.linkedin.common.error.ACCESS_DENIED_EXCEPTION: Not enough permissions to access: rw_organization_admin",
      "status": 403
    }
    

    Validation Errors

    INVALID_ARGUMENT

    HTTP 400 Bad Request
    {
      "serviceErrorCode": 1,
      "message": "com.linkedin.common.error.INVALID_ARGUMENT: Invalid value for field 'text': Text cannot be longer than 3000 characters",
      "status": 400
    }
    

    MISSING_REQUIRED_FIELD

    HTTP 400 Bad Request
    {
      "serviceErrorCode": 2,
      "message": "com.linkedin.common.error.MISSING_REQUIRED_FIELD: Missing required field: 'owner'",
      "status": 400
    }
    

    Rate Limiting

    THROTTLE_LIMIT_EXCEEDED

    HTTP 429 Too Many Requests
    {
      "serviceErrorCode": 0,
      "message": "com.linkedin.common.error.THROTTLE_LIMIT_EXCEEDED: Throttle limit for calls to this resource is reached",
      "status": 429
    }
    X-RestLi-Protocol-Version: 2.0.0
    Retry-After: 60
    

    Webhook Errors

    INVALID_WEBHOOK_URL

    HTTP 400 Bad Request
    {
      "serviceErrorCode": 15,
      "message": "com.linkedin.common.error.INVALID_WEBHOOK_URL: Webhook URL must use HTTPS protocol",
      "status": 400
    }
    

    Connection Errors

    Timeout

    Error: connect ETIMEDOUT 108.174.10.10:443
        at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)
    

    SSL Handshake Error

    Error: write EPROTO 139872867647488:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:ssl/record/rec_layer_s3.c:1543:SSL alert number 40
        at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:94:16)