VX Agents

API directory · Customer Support

Pylon Support Issues & Replies

v1.0.0 · 14 endpoints · 0 connections · shared by vx.ai

When a customer pings your shared Slack channel or support inbox, the request lands in Pylon as an issue. Search issues by state, account or tag, read the full message thread, then reply, leave an internal note, reassign it to a teammate or team, or snooze it until the customer answers.

Connect this API to an AI agent Browse all specs

What you can do with Pylon Support Issues & Replies via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
POST /issues/search searchIssues Search issues by state, assignee, account, tag or date
GET /issues listIssues List issues created in a time window
POST /issues createIssue Open a new issue for a customer
GET /issues/{id} getIssue Get an issue by its id or number
PATCH /issues/{id} updateIssue Change an issue's state, assignee, team, tags or title
GET /issues/{id}/messages getIssueMessages Read the messages and notes on an issue
GET /issue-statuses listIssueStatuses List the issue states, including custom ones
GET /users listUsers List teammates and their user ids
GET /teams listTeams List support teams and their ids
GET /tags listTags List the tags that can be put on issues
GET /macros listMacros List saved reply macros
POST /issues/{id}/reply replyToIssue Reply to the customer on an issue
POST /issues/{id}/note addInternalNote Add an internal note only teammates can see
POST /issues/{id}/snooze snoozeIssue Snooze an issue until a given time

Authentication

bearerAuth

Bearer token — sent as Authorization: Bearer <token>

A Pylon API token, sent as Authorization: Bearer <token>.

How to get a credential

  1. Sign in to Pylon as an Admin (only Admins can create tokens).
  2. Open Settings > Integrations & dev > API tokens and click Create API Token.
  3. Name it (e.g. VX Agents). Either pick a Role for the token, or choose Act as user or bot so replies are attributed to that user or bot.
  4. Click Create and copy the token; it is shown only once. Tokens do not expire.

Permissions used

Pylon tokens have no scopes; access follows the token's role.

Role needs to allow Operations
Viewing issues and workspace data listIssues, searchIssues, getIssue, getIssueMessages, listIssueStatuses, listUsers, listTeams, listTags, listMacros
Working issues createIssue, updateIssue, replyToIssue, addInternalNote, snoozeIssue

Common errors

Status Meaning Fix
401 Token missing or revoked; wrong_region_token means an EU token (pylon_api_eu_...) was sent to the US host Create a new token, or use the EU base URL https://api.eu.usepylon.com.
403 The token's role does not allow this action Give the token (or the user it acts as) a role with access.
400 Invalid body, e.g. an unknown state slug or user id Read the error message; look ids up with listIssueStatuses, listUsers or listTeams.
429 Per-endpoint limit (30, 120 or 300 requests per minute per organization) Wait the seconds in Retry-After, then retry.

Store the token as a bearer credential in VX Agents; never paste it into chat.

Usage guide

Setup

  • Credential: a Pylon API token (Settings > Integrations & dev > API tokens, Admins only), stored as a bearer credential. Create it to act as a bot or teammate if replies should carry that name.
  • EU tenants (tokens starting pylon_api_eu_) must use the base URL https://api.eu.usepylon.com.
  • Worth pinning: your own user_id (from listUsers) for notes and assignments.

Work the queue

  1. searchIssues with a filter, e.g. open issues for one account: {"operator": "and", "subfilters": [{"field": "state", "operator": "in", "values": ["new", "waiting_on_you"]}, {"field": "account_id", "operator": "equals", "value": "<id>"}]}. Fields include state, assignee_id, team_id, account_id, tags, title (string_contains), created_at/updated_at/latest_message_activity_at (time_is_after, time_range). Page with cursor.
  2. listIssues needs start_time and end_time (created_at window, at most 365 days).
  3. getIssue (id or issue number), then getIssueMessages for the thread.
  4. Act, confirming with the user first for anything the customer sees or that changes the issue:
    • replyToIssue with body_html and message_id = the id of a customer-visible message from step 3. This is sent to the customer.
    • addInternalNote with body_html (teammates only).
    • updateIssue with state, assignee_id, team_id or tags. tags replaces the whole list, so send the existing tags plus the new one.
    • snoozeIssue with snooze_until (RFC 3339).
  5. createIssue needs title and body_html; add account_id, requester_email or contact_id to link the customer.

Good to know

  • States: new, waiting_on_you, waiting_on_customer, on_hold, closed, plus custom slugs from listIssueStatuses.
  • Ids come from listUsers, listTeams, listTags (filter tags by name) and listMacros (saved replies to reuse as body_html).
  • Timestamps are RFC 3339 (2026-10-22T09:00:00Z).
  • Limits are per endpoint and organization: 30, 120 or 300 requests per minute; on 429 wait Retry-After seconds.
  • Deleting, merging and spam-marking issues are not part of this spec.

Source: Pylon API reference (https://docs.usepylon.com/pylon-docs/developer/api/api-reference), checked 2026-10-22.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “Pylon Support Issues & Replies” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs