---
title: "Send a LinkedIn message to a contact"
method: POST
path: "/v3/contacts/{id}/send-direct-linkedin-message"
tags: ["Direct Outreach"]
---

# Send a LinkedIn message to a contact

`POST /v3/contacts/{id}/send-direct-linkedin-message`

<small>_Requires the `contacts:operate` scope (or a broader one that includes it)._</small>

Sends a direct LinkedIn message to the contact outside of any sequence.
The caller must already be connected with the contact on LinkedIn.

## Path parameters

- `id` integer, required

## Request body

- object
  - `linkedInAccountId` integer, required — ID of the LinkedIn account to send from. Must be greater than 0.
  - `message` string, required — Message body text.

## Response `200`

Message sent successfully.

- object — Response returned after a direct LinkedIn action is dispatched.
  - `actionType` 'connect' | 'inMail' | 'message' | 'voice' | 'aiVoice', required — The type of LinkedIn action performed.
  - `linkedInActivityId` integer, required — ID of the LinkedIn activity record created for this action.
  - `sentAtUtc` string, date-time, required — UTC timestamp when the action was dispatched.

## Other responses

- `400` — Validation failure on the route parameter or request body, or a business rule rejection. | `code` | Meaning | |---|---| | `directLinkedIn.messageTooLong` | Message body exceeds the allowed length | | `directLinkedIn.missingVariables` | Message template contains unresolved variables |
- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `403` — LinkedIn direct actions feature is disabled for this account.
- `404` — Contact, LinkedIn profile, or LinkedIn account not found.
- `409` — Conflict — the LinkedIn account state or connection status prevents the action. | `code` | Meaning | |---|---| | `directLinkedIn.linkedInAccountInactive` | Specified LinkedIn account is inactive | | `directLinkedIn.invalidCookie` | LinkedIn account session cookie is invalid | | `directLinkedIn.notConnected` | Not connected with this contact on LinkedIn |
- `429` — Rate limit reached. | `code` | Meaning | |---|---| | `directLinkedIn.dailyLimitReached` | Daily message limit reached | | `directLinkedIn.weeklyLimitReached` | Weekly message limit reached |

---

[API](https://skmtc.net/reply/apis/reply-api.md) · [All operations](https://skmtc.net/reply/apis/reply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reply/reply-api/revisions/1c3d32eaf95e/schema)
