---
title: "Follow a user"
method: POST
path: "/v1/twitter/follow"
tags: ["Twitter Engagement"]
---

# Follow a user

`POST /v1/twitter/follow`

Follow a user on X/Twitter.
Requires the follows.write OAuth scope.
For protected accounts, a follow request is sent instead (pending_follow will be true).

## Request body

- object
  - `accountId` string, required — The social account ID
  - `targetUserId` string, required — The Twitter ID of the user to follow

## Response `200`

User followed or follow request sent

- object
  - `status` string
  - `targetUserId` string
  - `following` boolean
  - `pending_follow` boolean — True if the target account is protected and a follow request was sent
  - `platform` string

## Other responses

- `400` — Bad request or platform limitation
- `401` — Unauthorized
- `403` — X rejected the request (e.g. suspended account, missing OAuth scope)
- `404` — Account not found

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/versions/51932b099b2f/schema)
