> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# twitter

> Tweets, users, timelines, and media

**Server path:** `/twitter` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                            | Description                                             |
| --------------------------------------------------------------- | ------------------------------------------------------- |
| [`twitter_post_tweet`](#twitter_post_tweet)                     | Post a new tweet to Twitter                             |
| [`twitter_get_tweet`](#twitter_get_tweet)                       | Retrieve a specific tweet by ID                         |
| [`twitter_delete_tweet`](#twitter_delete_tweet)                 | Delete a tweet                                          |
| [`twitter_get_user_timeline`](#twitter_get_user_timeline)       | Get tweets from a user's timeline                       |
| [`twitter_search_tweets`](#twitter_search_tweets)               | Search for tweets using Twitter search API              |
| [`twitter_get_user_by_username`](#twitter_get_user_by_username) | Get user information by username                        |
| [`twitter_get_user_by_id`](#twitter_get_user_by_id)             | Get user information by user ID                         |
| [`twitter_follow_user`](#twitter_follow_user)                   | Follow a user on Twitter                                |
| [`twitter_unfollow_user`](#twitter_unfollow_user)               | Unfollow a user on Twitter                              |
| [`twitter_get_followers`](#twitter_get_followers)               | Get followers of a user                                 |
| [`twitter_get_following`](#twitter_get_following)               | Get users that a user is following                      |
| [`twitter_like_tweet`](#twitter_like_tweet)                     | Like a tweet                                            |
| [`twitter_unlike_tweet`](#twitter_unlike_tweet)                 | Unlike a tweet                                          |
| [`twitter_retweet`](#twitter_retweet)                           | Retweet a tweet                                         |
| [`twitter_unretweet`](#twitter_unretweet)                       | Remove a retweet                                        |
| [`twitter_upload_media`](#twitter_upload_media)                 | Upload media (image/video) to Twitter for use in tweets |
| [`twitter_get_mentions`](#twitter_get_mentions)                 | Get tweets that mention the authenticated user          |
| [`twitter_get_home_timeline`](#twitter_get_home_timeline)       | Get the authenticated user's home timeline              |

***

## twitter\_post\_tweet

Post a new tweet to Twitter

**Parameters:**

| Parameter           | Type      | Required | Default | Description                               |
| ------------------- | --------- | -------- | ------- | ----------------------------------------- |
| `text`              | string    | Yes      | —       | Tweet text content (max 280 characters)   |
| `media_ids`         | string\[] | No       | —       | Array of media IDs to attach to the tweet |
| `reply_to_tweet_id` | string    | No       | —       | Tweet ID to reply to (for reply tweets)   |
| `quote_tweet_id`    | string    | No       | —       | Tweet ID to quote (for quote tweets)      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "text": {
        "type": "string",
        "description": "Tweet text content (max 280 characters)"
      },
      "media_ids": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Array of media IDs to attach to the tweet"
      },
      "reply_to_tweet_id": {
        "type": "string",
        "description": "Tweet ID to reply to (for reply tweets)"
      },
      "quote_tweet_id": {
        "type": "string",
        "description": "Tweet ID to quote (for quote tweets)"
      }
    },
    "required": [
      "PCID",
      "text"
    ]
  }
  ```
</Expandable>

***

## twitter\_get\_tweet

Retrieve a specific tweet by ID

**Parameters:**

| Parameter      | Type      | Required | Default | Description                                 |
| -------------- | --------- | -------- | ------- | ------------------------------------------- |
| `tweet_id`     | string    | Yes      | —       | Tweet ID to retrieve                        |
| `expansions`   | string\[] | No       | —       | Fields to expand in the response            |
| `tweet_fields` | string\[] | No       | —       | Tweet fields to include in the response     |
| `user_fields`  | string\[] | No       | —       | User fields to include for referenced users |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "tweet_id": {
        "type": "string",
        "description": "Tweet ID to retrieve"
      },
      "expansions": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "author_id",
            "referenced_tweets.id",
            "referenced_tweets.id.author_id",
            "entities.mentions.username",
            "attachments.poll_ids",
            "attachments.media_keys",
            "in_reply_to_user_id",
            "edit_history_tweet_ids",
            "geo.place_id"
          ]
        },
        "description": "Fields to expand in the response"
      },
      "tweet_fields": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "id",
            "text",
            "author_id",
            "created_at",
            "conversation_id",
            "in_reply_to_user_id",
            "referenced_tweets",
            "attachments",
            "public_metrics",
            "possibly_sensitive",
            "lang",
            "reply_settings",
            "source"
          ]
        },
        "description": "Tweet fields to include in the response"
      },
      "user_fields": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "id",
            "name",
            "username",
            "created_at",
            "description",
            "entities",
            "location",
            "pinned_tweet_id",
            "profile_image_url",
            "protected",
            "public_metrics",
            "url",
            "verified"
          ]
        },
        "description": "User fields to include for referenced users"
      }
    },
    "required": [
      "PCID",
      "tweet_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_delete\_tweet

Delete a tweet

**Parameters:**

| Parameter  | Type   | Required | Default | Description        |
| ---------- | ------ | -------- | ------- | ------------------ |
| `tweet_id` | string | Yes      | —       | Tweet ID to delete |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "tweet_id": {
        "type": "string",
        "description": "Tweet ID to delete"
      }
    },
    "required": [
      "PCID",
      "tweet_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_get\_user\_timeline

Get tweets from a user's timeline

**Parameters:**

| Parameter      | Type      | Required | Default | Description                                |
| -------------- | --------- | -------- | ------- | ------------------------------------------ |
| `user_id`      | string    | Yes      | —       | User ID whose timeline to retrieve         |
| `max_results`  | number    | No       | `10`    | Maximum number of tweets to return (5-100) |
| `exclude`      | string\[] | No       | —       | Types of tweets to exclude                 |
| `since_id`     | string    | No       | —       | Return tweets posted after this tweet ID   |
| `until_id`     | string    | No       | —       | Return tweets posted before this tweet ID  |
| `start_time`   | string    | No       | —       | Start time for tweets (ISO 8601 format)    |
| `end_time`     | string    | No       | —       | End time for tweets (ISO 8601 format)      |
| `tweet_fields` | string\[] | No       | —       | Tweet fields to include in the response    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "user_id": {
        "type": "string",
        "description": "User ID whose timeline to retrieve"
      },
      "max_results": {
        "type": "number",
        "default": 10,
        "description": "Maximum number of tweets to return (5-100)"
      },
      "exclude": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "retweets",
            "replies"
          ]
        },
        "description": "Types of tweets to exclude"
      },
      "since_id": {
        "type": "string",
        "description": "Return tweets posted after this tweet ID"
      },
      "until_id": {
        "type": "string",
        "description": "Return tweets posted before this tweet ID"
      },
      "start_time": {
        "type": "string",
        "description": "Start time for tweets (ISO 8601 format)"
      },
      "end_time": {
        "type": "string",
        "description": "End time for tweets (ISO 8601 format)"
      },
      "tweet_fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Tweet fields to include in the response"
      }
    },
    "required": [
      "PCID",
      "user_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_search\_tweets

Search for tweets using Twitter search API

**Parameters:**

| Parameter      | Type      | Required | Default     | Description                                                                      |
| -------------- | --------- | -------- | ----------- | -------------------------------------------------------------------------------- |
| `query`        | string    | Yes      | —           | Search query (supports Twitter search operators like from:, to:, #hashtag, etc.) |
| `max_results`  | number    | No       | `10`        | Maximum number of tweets to return (10-100)                                      |
| `sort_order`   | string    | No       | `"recency"` | Sort order for results                                                           |
| `start_time`   | string    | No       | —           | Start time for search (ISO 8601 format)                                          |
| `end_time`     | string    | No       | —           | End time for search (ISO 8601 format)                                            |
| `since_id`     | string    | No       | —           | Return tweets posted after this tweet ID                                         |
| `until_id`     | string    | No       | —           | Return tweets posted before this tweet ID                                        |
| `tweet_fields` | string\[] | No       | —           | Tweet fields to include in the response                                          |
| `user_fields`  | string\[] | No       | —           | User fields to include for tweet authors                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "query": {
        "type": "string",
        "description": "Search query (supports Twitter search operators like from:, to:, #hashtag, etc.)"
      },
      "max_results": {
        "type": "number",
        "default": 10,
        "description": "Maximum number of tweets to return (10-100)"
      },
      "sort_order": {
        "type": "string",
        "enum": [
          "recency",
          "relevancy"
        ],
        "default": "recency",
        "description": "Sort order for results"
      },
      "start_time": {
        "type": "string",
        "description": "Start time for search (ISO 8601 format)"
      },
      "end_time": {
        "type": "string",
        "description": "End time for search (ISO 8601 format)"
      },
      "since_id": {
        "type": "string",
        "description": "Return tweets posted after this tweet ID"
      },
      "until_id": {
        "type": "string",
        "description": "Return tweets posted before this tweet ID"
      },
      "tweet_fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Tweet fields to include in the response"
      },
      "user_fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "User fields to include for tweet authors"
      }
    },
    "required": [
      "PCID",
      "query"
    ]
  }
  ```
</Expandable>

***

## twitter\_get\_user\_by\_username

Get user information by username

**Parameters:**

| Parameter     | Type      | Required | Default | Description                            |
| ------------- | --------- | -------- | ------- | -------------------------------------- |
| `username`    | string    | Yes      | —       | Twitter username (without @)           |
| `user_fields` | string\[] | No       | —       | User fields to include in the response |
| `expansions`  | string\[] | No       | —       | Fields to expand in the response       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "username": {
        "type": "string",
        "description": "Twitter username (without @)"
      },
      "user_fields": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "id",
            "name",
            "username",
            "created_at",
            "description",
            "entities",
            "location",
            "pinned_tweet_id",
            "profile_image_url",
            "protected",
            "public_metrics",
            "url",
            "verified"
          ]
        },
        "description": "User fields to include in the response"
      },
      "expansions": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "pinned_tweet_id"
          ]
        },
        "description": "Fields to expand in the response"
      }
    },
    "required": [
      "PCID",
      "username"
    ]
  }
  ```
</Expandable>

***

## twitter\_get\_user\_by\_id

Get user information by user ID

**Parameters:**

| Parameter     | Type      | Required | Default | Description                            |
| ------------- | --------- | -------- | ------- | -------------------------------------- |
| `user_id`     | string    | Yes      | —       | Twitter user ID                        |
| `user_fields` | string\[] | No       | —       | User fields to include in the response |
| `expansions`  | string\[] | No       | —       | Fields to expand in the response       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "user_id": {
        "type": "string",
        "description": "Twitter user ID"
      },
      "user_fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "User fields to include in the response"
      },
      "expansions": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Fields to expand in the response"
      }
    },
    "required": [
      "PCID",
      "user_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_follow\_user

Follow a user on Twitter

**Parameters:**

| Parameter        | Type   | Required | Default | Description       |
| ---------------- | ------ | -------- | ------- | ----------------- |
| `target_user_id` | string | Yes      | —       | User ID to follow |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "target_user_id": {
        "type": "string",
        "description": "User ID to follow"
      }
    },
    "required": [
      "PCID",
      "target_user_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_unfollow\_user

Unfollow a user on Twitter

**Parameters:**

| Parameter        | Type   | Required | Default | Description         |
| ---------------- | ------ | -------- | ------- | ------------------- |
| `target_user_id` | string | Yes      | —       | User ID to unfollow |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "target_user_id": {
        "type": "string",
        "description": "User ID to unfollow"
      }
    },
    "required": [
      "PCID",
      "target_user_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_get\_followers

Get followers of a user

**Parameters:**

| Parameter          | Type      | Required | Default | Description                                    |
| ------------------ | --------- | -------- | ------- | ---------------------------------------------- |
| `user_id`          | string    | Yes      | —       | User ID whose followers to retrieve            |
| `max_results`      | number    | No       | `100`   | Maximum number of followers to return (1-1000) |
| `pagination_token` | string    | No       | —       | Token for pagination                           |
| `user_fields`      | string\[] | No       | —       | User fields to include in the response         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "user_id": {
        "type": "string",
        "description": "User ID whose followers to retrieve"
      },
      "max_results": {
        "type": "number",
        "default": 100,
        "description": "Maximum number of followers to return (1-1000)"
      },
      "pagination_token": {
        "type": "string",
        "description": "Token for pagination"
      },
      "user_fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "User fields to include in the response"
      }
    },
    "required": [
      "PCID",
      "user_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_get\_following

Get users that a user is following

**Parameters:**

| Parameter          | Type      | Required | Default | Description                                |
| ------------------ | --------- | -------- | ------- | ------------------------------------------ |
| `user_id`          | string    | Yes      | —       | User ID whose following list to retrieve   |
| `max_results`      | number    | No       | `100`   | Maximum number of users to return (1-1000) |
| `pagination_token` | string    | No       | —       | Token for pagination                       |
| `user_fields`      | string\[] | No       | —       | User fields to include in the response     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "user_id": {
        "type": "string",
        "description": "User ID whose following list to retrieve"
      },
      "max_results": {
        "type": "number",
        "default": 100,
        "description": "Maximum number of users to return (1-1000)"
      },
      "pagination_token": {
        "type": "string",
        "description": "Token for pagination"
      },
      "user_fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "User fields to include in the response"
      }
    },
    "required": [
      "PCID",
      "user_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_like\_tweet

Like a tweet

**Parameters:**

| Parameter  | Type   | Required | Default | Description      |
| ---------- | ------ | -------- | ------- | ---------------- |
| `tweet_id` | string | Yes      | —       | Tweet ID to like |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "tweet_id": {
        "type": "string",
        "description": "Tweet ID to like"
      }
    },
    "required": [
      "PCID",
      "tweet_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_unlike\_tweet

Unlike a tweet

**Parameters:**

| Parameter  | Type   | Required | Default | Description        |
| ---------- | ------ | -------- | ------- | ------------------ |
| `tweet_id` | string | Yes      | —       | Tweet ID to unlike |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "tweet_id": {
        "type": "string",
        "description": "Tweet ID to unlike"
      }
    },
    "required": [
      "PCID",
      "tweet_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_retweet

Retweet a tweet

**Parameters:**

| Parameter  | Type   | Required | Default | Description         |
| ---------- | ------ | -------- | ------- | ------------------- |
| `tweet_id` | string | Yes      | —       | Tweet ID to retweet |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "tweet_id": {
        "type": "string",
        "description": "Tweet ID to retweet"
      }
    },
    "required": [
      "PCID",
      "tweet_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_unretweet

Remove a retweet

**Parameters:**

| Parameter  | Type   | Required | Default | Description           |
| ---------- | ------ | -------- | ------- | --------------------- |
| `tweet_id` | string | Yes      | —       | Tweet ID to unretweet |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "tweet_id": {
        "type": "string",
        "description": "Tweet ID to unretweet"
      }
    },
    "required": [
      "PCID",
      "tweet_id"
    ]
  }
  ```
</Expandable>

***

## twitter\_upload\_media

Upload media (image/video) to Twitter for use in tweets

**Parameters:**

| Parameter        | Type   | Required | Default         | Description                                         |
| ---------------- | ------ | -------- | --------------- | --------------------------------------------------- |
| `media_url`      | string | Yes      | —               | URL of the media file to upload                     |
| `media_category` | string | No       | `"tweet_image"` | Category of media being uploaded                    |
| `alt_text`       | string | No       | —               | Alt text for accessibility (recommended for images) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "media_url": {
        "type": "string",
        "description": "URL of the media file to upload"
      },
      "media_category": {
        "type": "string",
        "enum": [
          "tweet_image",
          "tweet_video",
          "tweet_gif"
        ],
        "default": "tweet_image",
        "description": "Category of media being uploaded"
      },
      "alt_text": {
        "type": "string",
        "description": "Alt text for accessibility (recommended for images)"
      }
    },
    "required": [
      "PCID",
      "media_url"
    ]
  }
  ```
</Expandable>

***

## twitter\_get\_mentions

Get tweets that mention the authenticated user

**Parameters:**

| Parameter      | Type      | Required | Default | Description                                  |
| -------------- | --------- | -------- | ------- | -------------------------------------------- |
| `max_results`  | number    | No       | `10`    | Maximum number of mentions to return (5-100) |
| `since_id`     | string    | No       | —       | Return mentions after this tweet ID          |
| `until_id`     | string    | No       | —       | Return mentions before this tweet ID         |
| `start_time`   | string    | No       | —       | Start time for mentions (ISO 8601 format)    |
| `end_time`     | string    | No       | —       | End time for mentions (ISO 8601 format)      |
| `tweet_fields` | string\[] | No       | —       | Tweet fields to include in the response      |
| `user_fields`  | string\[] | No       | —       | User fields to include for tweet authors     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "max_results": {
        "type": "number",
        "default": 10,
        "description": "Maximum number of mentions to return (5-100)"
      },
      "since_id": {
        "type": "string",
        "description": "Return mentions after this tweet ID"
      },
      "until_id": {
        "type": "string",
        "description": "Return mentions before this tweet ID"
      },
      "start_time": {
        "type": "string",
        "description": "Start time for mentions (ISO 8601 format)"
      },
      "end_time": {
        "type": "string",
        "description": "End time for mentions (ISO 8601 format)"
      },
      "tweet_fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Tweet fields to include in the response"
      },
      "user_fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "User fields to include for tweet authors"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## twitter\_get\_home\_timeline

Get the authenticated user's home timeline

**Parameters:**

| Parameter      | Type      | Required | Default | Description                                |
| -------------- | --------- | -------- | ------- | ------------------------------------------ |
| `max_results`  | number    | No       | `10`    | Maximum number of tweets to return (5-100) |
| `exclude`      | string\[] | No       | —       | Types of tweets to exclude                 |
| `since_id`     | string    | No       | —       | Return tweets after this tweet ID          |
| `until_id`     | string    | No       | —       | Return tweets before this tweet ID         |
| `tweet_fields` | string\[] | No       | —       | Tweet fields to include in the response    |
| `user_fields`  | string\[] | No       | —       | User fields to include for tweet authors   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "max_results": {
        "type": "number",
        "default": 10,
        "description": "Maximum number of tweets to return (5-100)"
      },
      "exclude": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "retweets",
            "replies"
          ]
        },
        "description": "Types of tweets to exclude"
      },
      "since_id": {
        "type": "string",
        "description": "Return tweets after this tweet ID"
      },
      "until_id": {
        "type": "string",
        "description": "Return tweets before this tweet ID"
      },
      "tweet_fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Tweet fields to include in the response"
      },
      "user_fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "User fields to include for tweet authors"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>
