---
title: "Follow a user"
method: POST
path: "/v1/{account_id}/users/{user_id}/follow"
tags: ["Following"]
---

# Follow a user

`POST /v1/{account_id}/users/{user_id}/follow`

## Request

- Base URL: `https://api.curviate.com`
- URL: `https://api.curviate.com/v1/{account_id}/users/{user_id}/follow`
- Auth: HTTP bearer

Follows a LinkedIn user. If the target's profile is private, this sends a connect request instead of following directly, and returns connect_request_sent.

## Path parameters

- `account_id` string, required
- `user_id` string, required

## Response `200`

The user was followed, or (when their profile is private) a connect request was sent instead.

- union
  - object
    - `object` 'user_followed', required: Response type discriminator.
  - object
    - `object` 'connect_request_sent', required: Response type discriminator, sent when the target's profile is private.
    - `id` string, required: The connect request's identifier.
    - `type` string: The connect request's type.
    - `created_at` string: ISO-8601 timestamp when the connect request was created.
    - `message` string, nullable, required: The connect request's message, or null.
    - `user` object, required: The target user this connect request was sent to.
      - `id` string: The target's opaque identifier.
      - `type` string: The target's profile type.
      - `display_name` string: The target's display name.
      - `public_identifier` string: LinkedIn public URL slug.
      - `first_name` string: First name.
      - `last_name` string: Last name.
      - `profile_url` string: Full LinkedIn profile URL.

## Other responses

- `400`: Malformed request.
- `401`: Missing or invalid API key.
- `403`: The target account is blocked or otherwise restricted.
- `404`: The account_id does not belong to this tenant, or the requested user was not found. An id whose connection was replaced or removed also stops resolving here, and it is already absent from the list, so re-read `GET /v1/accounts` for the current id.
- `422`: The account is restricted, or is already following this user.
- `429`: Rate limited, slow down and retry after the hinted delay.
- `500`: Internal error.
- `502`: A temporary error occurred. Please try again.
- `503`: Service unavailable.
- `504`: Gateway timeout.

---

[API](https://skmtc.dev/curviate/apis/curviate-api.md) · [All operations](https://skmtc.dev/curviate/apis/curviate-api/llms.txt) · [OpenAPI document](https://skmtc.dev/curviate/apis/curviate-api/revisions/eab848801d95?raw)
