error field containing a human-readable message.
Error Codes
400 — Bad Request
Missing or invalid parameters. Check the error message for specifics. Watchlist endpoints:| Error Message | Cause |
|---|---|
keywords array is required and must not be empty | Keyword watchlist: keywords missing, not an array, or empty |
No valid keywords provided after cleaning | All keywords are invalid/empty after normalization |
profiles array is required and must not be empty | People watchlist: profiles missing, not an array, or empty |
No valid profile identifiers provided | No profiles passed validation |
companies array is required and must not be empty | Company watchlist: companies missing, not an array, or empty |
No valid company identifiers provided | No companies passed validation |
Invalid fetchFreqInHours | Must be one of: 1, 3, 6, 12, 24, 48, 72 |
Missing required parameter: id | Watchlist update/delete called without id |
Name cannot be empty | Watchlist update with empty name |
No valid update fields provided | Watchlist update with nothing to change |
disable must be a boolean value | Watchlist enable/disable with invalid value |
Invalid watchlist ID(s) | Get Posts: watchlist_id doesn’t exist |
| Error Message | Cause |
|---|---|
Missing required parameter: post_id | Like/comment without post_id |
Missing required parameter: user_email | Like/comment without user_email |
Missing required parameter: comment_text | Comment without comment_text |
comment_text cannot be empty | Comment with empty or whitespace-only text |
Invalid actor_type. Must be 'user' or 'company' | actor_type not "user" or "company" |
company_title is required when actor_type is 'company' | Engaging as company without providing company name |
Post does not support like functionality (missing social_urn) | Post has no activity URN (may be deleted) |
Post does not support comment functionality (missing social_urn) | Post has no activity URN (may be deleted) |
| Error Message | Cause |
|---|---|
Missing or invalid 'profile_slug' | fetch-profile without a valid profile_slug string |
Missing or invalid 'profile_urns' (must be a non-empty array) | fetch-profiles-posts without a valid array of URNs |
Missing or invalid 'social_urn' | like-post or comment-post without a valid social_urn |
Missing or invalid 'comment_text' | comment-post without a valid comment_text |
Missing or invalid 'api_agent_task_id' | get-task-status without a valid task ID |
Missing or invalid 'email' | Auth endpoints without a valid email |
Missing or invalid 'otp' | auth-verify-otp without a valid OTP code |
401 — Unauthorized
API key is missing or invalid.| Error Message | Cause |
|---|---|
Missing API Key | No x-api-key header in the request |
Invalid API Key | The API key does not match any team |
Invalid or expired OTP | OTP code is incorrect or has expired (auth-verify-otp) |
x-api-key header. Get your key at mentions.outx.ai/api-doc.
402 — Plan Limit Reached
Your team has hit a plan-based limit. The error message includes your current limit.| Error Message Pattern | Cause |
|---|---|
Your plan includes upto N watchlists... | Watchlist count limit reached |
Your plan includes total of N likes... | Daily like limit reached (resets at UTC midnight) |
Your plan includes total of N comments... | Daily comment limit reached (resets at UTC midnight) |
Your plan includes total of N company trackings... | Company tracking limit reached |
Your plan includes total of N team members... | Team member invitation limit reached |
Your plan allows up to N posts per week per watchlist... | Weekly post fetch limit per watchlist reached |
Your plan allows up to N active AI agents per watchlist... | Auto-engagement rule limit per watchlist reached |
Plan limits by tier:
- Free: 2 watchlists, 1 auto-engagement rule per watchlist, 5 team members
- Pro: 5 watchlists, 2 auto-engagement rules per watchlist, 10 team members
- Expert: 20 watchlists, 5 auto-engagement rules per watchlist, 25 team members
- Ultimate: 100 watchlists, 10 auto-engagement rules per watchlist, unlimited team members
403 — Forbidden
Access denied. Most commonly caused by the Chrome extension not being active.| Error Message | Cause |
|---|---|
Plugin installation required: Please install the OutX browser extension on at least one team member's account to use the API. The plugin must have been active within the last 48 hours. | No team member has an active Chrome extension |
Access denied: You don't have permission to access this resource | Trying to access another team’s resources |
Access denied: You don't have permission to access these watchlists | Trying to access watchlists from another team |
Access denied: You don't have permission to interact with this post | Trying to engage with a post from another team’s watchlist |
404 — Not Found
The requested resource does not exist or belongs to a different team.| Error Message | Cause |
|---|---|
Agent task not found | LinkedIn Data task ID does not exist or belongs to another team |
Watchlist not found | Watchlist ID does not exist or belongs to another team |
Watchlist not found or access denied | Watchlist update/delete — ID does not exist or team mismatch |
List not found or access denied | Creating watchlist with a list_id that doesn’t exist |
Post not found | The post_id in a like/comment request does not exist |
Tracking list not found | The post’s associated watchlist no longer exists |
User not found with email: [email] | The user_email is not a member of your team |
Company not found | The company_title does not match any company page for the admin user |
No admin user found in the team | LinkedIn Data engagement — your team has no admin members |
No company admin found for the specified company | No admin user manages the specified company page |
405 — Method Not Allowed
429 — Rate Limit Exceeded
500 — Internal Server Error
An unexpected error occurred on our side. Retry with exponential backoff. If the error persists, contact support@outx.ai.Error Response Format
All errors follow the same JSON format:Frequently Asked Questions
Why am I getting a 403 error even though my API key is correct?
Why am I getting a 403 error even though my API key is correct?
The most common cause is the Chrome extension requirement. At least one team member must have the OutX Chrome extension installed and actively used within the last 48 hours. Install the OutX Chrome Extension, sign into LinkedIn in the same browser, and keep the browser open.
What does 'Plugin installation required' mean?
What does 'Plugin installation required' mean?
OutX retrieves LinkedIn data through real browser sessions via the Chrome extension. This error means no team member has had the extension active recently. The extension runs in the background — just keep Chrome open with the extension installed and it will stay active.
How do I fix a 402 plan limit error?
How do I fix a 402 plan limit error?
402 errors mean you’ve reached a limit on your current plan. You can either upgrade your plan at outx.ai/pricing, wait for daily/weekly limits to reset, or delete existing resources (like watchlists) to make room for new ones.
Do daily limits reset at a specific time?
Do daily limits reset at a specific time?
Yes. Daily limits (likes, comments) reset at UTC midnight (00:00 UTC). Weekly limits (posts per watchlist) reset on Monday at 00:00 UTC.

