Skip to main content
This page provides a comprehensive reference for understanding and handling errors across the Edges API. Use the Quick Reference Table for fast lookups, or dive into the detailed sections for specific error handling guidance.
Two levels of reading: Each action’s documentation includes the specific errors it can return. This page provides the overall error landscape across all actions, helping you build robust error handling in your integrations.

Quick Reference Table

Error LabelHTTP CodeCategoryRetry?
BAD_INPUT400InputNo — fix input
BAD_PARAMETERS400InputNo — fix parameters
MISSING_PARAMETER424InputNo — add parameter
NO_ACCESS402AccessNo — check subscription
STATUS_403424AccessNo — check permissions
STATUS_404424Not FoundNo — resource doesn’t exist
NO_RESULT424Not FoundNo — empty result
LIMIT_REACHED429/424Rate LimitWait 24h
STATUS_429429Rate LimitYes — with backoff
LK_ERROR424LinkedInYes — with backoff
LK_524424LinkedInYes — wait & retry
LK_MISSING_DATA424LinkedInMaybe — verify input
LK_INMAIL_CANNOT_RESEND424LinkedInNo — wait for reply
LK_INMAIL_NOT_ENOUGH_CREDIT424LinkedInNo — add credits
LK_EVENT424LinkedInNo — check event
NOT_CONNECTED424LinkedInNo — connect first
SN_CONFLICT424Sales NavigatorNo — already connected
SN_OUT_OF_NETWORK424Sales NavigatorNo — upgrade account
NO_VALID_ACCOUNT_CONFIGURED424ConfigNo — configure identity
INTEGRATION_ERROR424ConfigContact support
PROXY_ERROR424ConfigRefresh identity
GENERIC_ERROR424ProcessingYes — with backoff
NO_DATA_LOADED424ProcessingYes — retry
MANDATORY_DATA_MISSING424ProcessingNo — check input
UNDEFINED_FIELD424ProcessingNo — check input
UNKNOWN_ERROR424SystemContact support
ACTION_ABORTED422SystemContact support

Error Response Structure

The API uses a consistent error response format across all endpoints. When an error occurs, you’ll receive a response with the following structure:
{
  "error_label": "INVALID_INPUT",
  "error_scope": "input",
  "error_ref": "ERR-12345",
  "message": "The provided input is invalid. Please check your request and try again.",
  "status_code": 400,
  "params": {}
}
Each error response includes:
  • error_label: A machine-readable identifier for the error type
  • error_scope: Indicates which part of the request caused the error (e.g., “input”, “auth”, “server”)
  • error_ref: A unique reference code for tracking and debugging
  • message: A human-readable description of the error
  • status_code: The HTTP status code
  • params: Additional error parameters (if any)
Common HTTP status codes:
  • 200: The request was successful (some API calls may return 201 instead)
  • 400: Bad Request - Invalid input or parameters
  • 401: Unauthorized - Invalid or missing API key
  • 403: Forbidden - Insufficient permissions
  • 404: Not Found - Resource doesn’t exist
  • 424: Failed Dependency - Used to wrap LinkedIn-specific error codes with an additional error_label
  • 500: Internal Server Error - Server-side issue
Why we use 424 for LinkedIn errors: We use the 424 Failed Dependency status code to wrap all LinkedIn-specific error codes. This is because a 404 (or any other error code) from LinkedIn doesn’t imply the same error code on our own APIs. For example, if LinkedIn returns a 404 for a profile that doesn’t exist, that doesn’t mean our API endpoint is returning a 404 — it means the dependency (LinkedIn) failed. The specific LinkedIn error is indicated in the error_label field (e.g., STATUS_404, NO_RESULT, etc.).
Always check the error_label and error_scope fields to programmatically handle different types of errors in your application.
If you encounter an unusual error, such as a 500 or 503, feel free to reach out! These are internal errors on our end, and we’re happy to help resolve them.

Understanding Error Scopes

Every error response includes an error_scope field that indicates what caused the error:
ScopeDescriptionTypical Action
inputThe input data provided is invalidFix the input format or value
paramA parameter in the request is invalidCheck parameter requirements
configConfiguration issue (identity, integration)Verify your setup in the dashboard
integThird-party integration error (LinkedIn)Check resource availability or retry later

Handling Rate Limit Errors (429)

429 errors indicate that you’ve exceeded a rate limit imposed by either Edges or LinkedIn. It’s crucial to identify the source of the limit to apply the appropriate handling strategy. A 429 Too Many Requests error means you’ve exceeded a usage limit — but it’s important to identify which system triggered it.
SourceIdentifierRetry Strategy
Edges APIX-RateLimit-Type headerUse Retry-After header + exponential backoff
LinkedIn (guarded)error_label = LIMIT_REACHEDWait for up to 24 hours. Tasks will resume if limit clears.
LinkedIn (raw)error_label = STATUS_429Apply exponential backoff. Do not retry aggressively.
Example Implementation:
if (error.status === 429) {
  if (error.headers['x-ratelimit-type']) {
    // Edges rate limit - use Retry-After header
    const delay = error.headers['retry-after'] * 1000;
    await new Promise(resolve => setTimeout(resolve, delay));
  } else if (error.body.error_label === 'LIMIT_REACHED') {
    // LinkedIn guarded - wait 24h
    console.log('LinkedIn limit reached, waiting 24 hours...');
  } else if (error.body.error_label === 'STATUS_429') {
    // LinkedIn raw - exponential backoff
    const delay = Math.min(1000 * Math.pow(2, retryCount), 30000);
    await new Promise(resolve => setTimeout(resolve, delay));
  }
}
General Recommendations:
  • Monitor identity usage via /identities/{identity_uid}/actions/{action_slug}/limits
  • Avoid parallel tools or conflicting automation platforms
  • Match identity timezones with VPNs and login locations
To know more about rate limits, see our dedicated Rate Limits section and best practices.

Handling LinkedIn Errors (424)

424 errors indicate a failed dependency — we use this status code to wrap all LinkedIn-specific error codes. It’s important to identify the specific error_label to determine the appropriate handling strategy. A 424 Failed Dependency error means the external service (LinkedIn) returned an error — the error_label will tell you which LinkedIn error occurred.
Why we use 424 for LinkedIn errors: We use the 424 Failed Dependency status code to wrap all LinkedIn-specific error codes. This is because a 404 (or any other error code) from LinkedIn doesn’t imply the same error code on our own APIs. For example, if LinkedIn returns a 404 for a profile that doesn’t exist, that doesn’t mean our API endpoint is returning a 404 — it means the dependency (LinkedIn) failed. The specific LinkedIn error is indicated in the error_label field (e.g., STATUS_404, NO_RESULT, etc.).
Example Implementation:
if (error.status === 424) {
  const label = error.body.error_label;
  
  switch (label) {
    case 'STATUS_404':
      // Resource doesn't exist - don't retry
      console.log('Resource not found on LinkedIn:', error.body.message);
      break;
    case 'NO_RESULT':
      // No results found - treat as empty result
      console.log('No results found:', error.body.message);
      break;
    case 'LK_ERROR':
    case 'GENERIC_ERROR':
      // Transient error - retry with backoff
      const delay = Math.min(1000 * Math.pow(2, retryCount), 30000);
      await new Promise(resolve => setTimeout(resolve, delay));
      break;
    case 'LIMIT_REACHED':
      // LinkedIn limit - wait for reset
      console.log('Limit reached, waiting for reset...');
      break;
    default:
      console.log('Unhandled error:', label, error.body.message);
  }
}

Error Labels by Category

Input & Validation Errors

These errors occur when the request contains invalid data. They return HTTP 400 Bad Request and generally should not be retried without fixing the input.
Status Code: 400Description: The input data is invalid or incorrectly formatted.Common Causes:
  • Invalid URL format (e.g., missing https://, wrong domain)
  • Missing required identifiers (company ID, profile handle)
  • Incompatible action configuration (e.g., action not compatible with live runs)
  • Malformed search query
Examples:
  • "Input should contain a valid company ID or company URL."
  • "Did not manage to retrieve a post id and post type."
  • "Input should start with https://www.google.com/maps/search"
  • "Sales Navigator was not able to handle this URL."
Resolution: Check the input format against the action’s documentation. Ensure URLs are complete and identifiers are valid.
Status Code: 400Description: One or more parameters in the request are invalid.Common Causes:
  • Message exceeds character limits
  • Incompatible parameter combinations (e.g., multiple identities when not supported)
  • Skip/pagination value exceeds available results
Examples:
  • "message can't be over 300 characters long"
  • "this action does not support account rotation. Can not pass more than one identity_id"
  • "'skip' parameter should be lesser than the group total members."
Resolution: Review parameter constraints in the action documentation. For messages, account for variable placeholders like {{first_name}} which can expand significantly.
Status Code: 424Description: A required parameter was not provided.Examples:
  • "Missing required parameter message or files."
  • "Missing required parameter group_manager, group_owner or group_member."
  • "Missing required parameter subject, message, files or smart_link."
Resolution: Check the action’s required parameters and ensure all necessary fields are included in your request.

Access & Permission Errors

These errors occur when there are permission or access issues.
Status Code: 402Description: You don’t have access to the requested resource, typically due to billing or subscription limitations.Example: "You don't have access to the resource: [resource_name]"Additional Data: The error response includes billing_starts_at, billing_ends_at, and billing_interval to help identify the billing context.Resolution: Check your subscription plan and ensure it includes access to the requested action or feature.
Status Code: 424Description: The third-party service (LinkedIn) denied access to the resource.Common Causes:
  • Not a member of a private group
  • Profile has restricted visibility settings
  • Content is limited to specific audiences
Example: "No access to resource. You need to be a member of this group to extract its members."Resolution: Ensure the identity used has the necessary access (e.g., join the group, connect with the profile).

Resource Not Found Errors

These errors indicate that the requested resource doesn’t exist or is no longer available.
Status Code: 424Description: LinkedIn indicates that the resource does not exist or is not accessible.Common Causes:
  • Profile has been deleted or deactivated
  • Company page no longer exists
  • Post has been removed
  • Invalid identifier (typo in URL or ID)
Resource Types: The params.appendix field indicates the resource type:
  • PROFILE - LinkedIn profile
  • COMPANY - Company page
  • POST - LinkedIn post
  • GROUP_MEMBERS - Group membership data
  • POST_ACTIVITY - Post engagement data
  • MESSAGE - Conversation or message
Example: "This resource does not exist (404)."Resolution: Verify the resource URL/ID is correct. If valid, the resource may have been removed — no retry needed.
Status Code: 424Description: The query returned no results.Common Causes:
  • Search criteria too narrow
  • No likers/commenters on a post
  • Empty result set from LinkedIn
Example: "No results for [query]"Resolution: Treat as an empty result set. Consider broadening search criteria if applicable.

Rate Limiting Errors

These errors occur when usage limits have been exceeded.
Status Code: 429 or 424Description: Daily or periodic limit reached for a specific action on LinkedIn.Common Triggers:
  • Connection request limits
  • Event invitation limits
  • Profile view limits
  • Search limits
Examples:
  • "Daily limit reached for connection requests on LinkedIn."
  • "Daily limit reached for invitation requests on LinkedIn."
  • "Daily limit reached for [service]."
Additional Data: The response may include postponed_until indicating when the limit resets.Resolution: Wait for the limit to reset (typically 24 hours). Monitor identity usage via the limits endpoint. Consider distributing load across multiple identities.
Status Code: 429Description: Too many requests on the third-party service (LinkedIn).Example: "Too Many Requests on the third-party service"Additional Data: The response includes retry_after (in seconds) and postponed_until.Resolution: Apply exponential backoff. Do not retry aggressively — respect the retry_after value.

LinkedIn-Specific Errors

These errors are specific to LinkedIn operations and return HTTP 424 Failed Dependency.
Status Code: 424Description: A generic LinkedIn operation error occurred.Common Triggers:
  • Unexpected response from LinkedIn
  • Temporary LinkedIn service issues
  • Invalid operation state
Examples:
  • "Error while accepting invitations: an unexpected error occurred"
  • "Error while sending message: an unexpected error occurred"
  • "Error while enriching profile: an unexpected error occurred"
Resolution: Retry with exponential backoff. If persistent, contact support with the error_ref.
Status Code: 424Description: LinkedIn API timeout. This is a LinkedIn-side issue.Example: "LinkedIn API timeout (524). This is a LinkedIn issue, please try again later."Resolution: Wait a few minutes and retry. This is a transient LinkedIn issue.
Status Code: 424Description: Required LinkedIn data could not be found or extracted.Example: "Could not find necessary data: no urn found"Resolution: Verify the input is valid. The profile or resource may have incomplete data on LinkedIn.
Status Code: 424Description: Cannot send another InMail until the recipient responds.Example: "You may not send another message until the recipient responds to your InMail."Resolution: Wait for a response from the recipient before sending another InMail.
Status Code: 424Description: The identity doesn’t have enough InMail credits.Example: "You do not have enough InMail credits."Resolution: Check InMail credit balance on the LinkedIn account. Purchase additional credits if needed.
Status Code: 424Description: The LinkedIn event is ended, invalid, or the identity cannot interact with it.Example: "This event ([url]) is either ended or invalid. (You must also be participating to invite someone to an event)."Resolution: Verify the event is active and the identity is a participant.
Status Code: 424Description: The identity is not connected with the target profile (required for the action).Example: "You are not connected with [profile]."Resolution: Ensure the identity is connected with the target profile, or use actions that don’t require a connection.

Sales Navigator Errors

These errors are specific to Sales Navigator operations.
Status Code: 424Description: A connection request conflict occurred (already pending or accepted).Example: "An invitation is already pending or it has already been accepted."Resolution: No action needed — the connection is already in progress or established.
Status Code: 424Description: The profile is out of the identity’s network and requires a Sales Navigator Team subscription.Example: "You need to upgrade to Sales Navigator Team edition to unlock 25-out-of-network profiles to see this profile."Resolution: Use a Sales Navigator Team account, or target profiles within the identity’s network.

Configuration & Integration Errors

These errors indicate issues with your setup or integration configuration.
Status Code: 424Description: No valid integration identity was found for the action.Example: "You need to configure a valid integration."Additional Data: Includes workspace_uid, identity_mode, and identity_ids for debugging.Resolution: Verify that you have a valid identity configured for the action. Check the Identities section for setup instructions.
Status Code: 424Description: Error retrieving or using the integration identity.Example: "Error while getting the integration identity: contact the support, invalid configuration"Resolution: Contact support with the error_ref for assistance.
Status Code: 424Description: Error setting up the proxy for the integration identity.Example: "Error while setting up the proxy: The integration identity do not have an IP address. Please refresh the integration identity."Resolution: Refresh the integration identity in the dashboard or via the API.

Data Processing Errors

These errors occur during data extraction or processing.
Status Code: 424Description: An unexpected error occurred during processing.Common Patterns:
  • "Error while [action]: an unexpected error occurred"
  • "Error while parsing [data]: an unexpected error occurred"
Examples:
  • "Error while extracting connections: an unexpected error occurred"
  • "Error while parsing page: data extraction failed"
  • "Error while sending in-mail: an unexpected error occurred"
Resolution: Retry with exponential backoff. If persistent, contact support with the error_ref.
Status Code: 424Description: No data could be loaded from the response.Example: "No data loaded on this input (Response body doesn't contain a valid JSON)."Resolution: The third-party service may have returned an invalid response. Retry after a short delay.
Status Code: 424Description: Required data for processing is missing.Examples:
  • "Mandatory value for handle is missing."
  • "Mandatory value for sales navigator id is missing."
  • "Mandatory value for parsing additional info is missing."
Resolution: Ensure all required fields are present in the input. Check the params.key field to identify the missing data.
Status Code: 424Description: One or more necessary values are undefined.Example: "One or multiple of the necessary values are undefined: [fields]"Resolution: Check the params.fields to identify which values are missing.

System Errors

These errors indicate internal system issues.
Status Code: 424Description: An unknown internal error occurred.Resolution: Contact support with the error_ref for investigation.
Status Code: 422Description: The action was aborted before completion.Resolution: Check if the run was manually cancelled. Otherwise, contact support with the error_ref.