---
title: "Create an X Play"
method: POST
path: "/x/watches"
tags: ["Plays"]
---

# Create an X Play

`POST /x/watches`

## Request

- Base URL: `https://app.pumpgtm.com/api/v1`
- URL: `https://app.pumpgtm.com/api/v1/x/watches`
- Auth: HTTP bearer

From now on, people who follow the account (followers), engage with any post (every_post) or engage with one post (post, with postUrl) are collected for review and then DMed with the sequence. Pass exactly one of message (a one-step DM sequence is created; customer credential required) or sequenceId (an existing X sequence). Nothing is sent in this call. 409 x_not_connected when the account is not connected.

## Headers

- `X-PumpGTM-Client` string, uuid
- `X-PumpGTM-User` string

## Request body

- union
  - object
    - `source` 'followers' | 'every_post' | 'post', required
    - `postUrl` string, uri: Required when source is post: an x.com/{user}/status/{id} URL.
    - `message` string, required
    - `sequenceId` string, uuid
    - `name` string
    - `as` string: Connected account to act as; defaults to the workspace's account.
  - object
    - `source` 'followers' | 'every_post' | 'post', required
    - `postUrl` string, uri: Required when source is post: an x.com/{user}/status/{id} URL.
    - `message` string
    - `sequenceId` string, uuid, required
    - `name` string
    - `as` string: Connected account to act as; defaults to the workspace's account.

## Response `201`

Successful response. Read outcome fields; success does not imply delivery.

- object
  - `id` string, uuid, required
  - `source` string, required
  - `postId` string, nullable, required
  - `sequenceId` string, uuid, required
  - `status` string, required
  - `as` string, nullable, required
  - `peopleSeen` integer, required
  - `waitingForReview` integer, required
  - `createdAt` string, required

## Other responses

- `400`: Invalid input; for partner keys also user_header_required when the account requires X-PumpGTM-User
- `401`: Missing, invalid or revoked key
- `403`: Workspace mismatch, channel or feature disabled; for partner keys also enterprise_required and user_disabled
- `404`: Resource unavailable in this workspace
- `409`: Revision, identity or state conflict: { error, message } and nothing changed
- `429`: Rate limit; respect Retry-After when provided
- `500`: internal_error: an unexpected failure on our side; retry, then contact PumpGTM
- `503`: Dependency unavailable; identity may be unknown

## Changes

- **2026-10-12** `06d2e4d0e84b`: 8 info
  - the response property `error` became required for the status `400`
  - the response property `error` became required for the status `401`
  - the response property `error` became required for the status `403`
  - the response property `error` became required for the status `404`
  - …4 more
- **2026-10-12** `08c80059d483`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pumpgtm/apis/pumpgtm-api/changes/x/watches/post.md)

---

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