{
  "info": {
    "name": "Telegram — mcp.ai",
    "description": "REST API for the Telegram MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/telegram",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "telegram_answer_callback_query",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/answer/callback/query",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "answer",
            "callback",
            "query"
          ]
        },
        "description": "Use this method to send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"\",\n  \"text\": \"\",\n  \"cache_time\": 0,\n  \"show_alert\": false,\n  \"callback_query_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_create_chat_invite_link",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/chat/invite/link",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "chat",
            "invite",
            "link"
          ]
        },
        "description": "Generate a new primary invite link for a chat; any previously generated primary link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate administrat",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_delete_message",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/message",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "message"
          ]
        },
        "description": "Delete a message, including service messages. Limitations: cannot delete messages older than 48 hours in groups, forwarded messages, or content in protected chats (returns 400 'message can’t be delete",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\",\n  \"message_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_edit_message",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/edit/message",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "edit",
            "message"
          ]
        },
        "description": "Edit text messages sent by the bot. Only bot-authored messages can be edited; editing messages from other users will fail. In groups, the bot must have edit permissions.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"text\": \"\",\n  \"chat_id\": \"\",\n  \"message_id\": 0,\n  \"parse_mode\": \"\",\n  \"reply_markup\": \"\",\n  \"inline_message_id\": \"\",\n  \"disable_web_page_preview\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_forward_message",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/forward/message",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "forward",
            "message"
          ]
        },
        "description": "Forward messages of any kind. Service messages can't be forwarded.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\",\n  \"message_id\": 0,\n  \"from_chat_id\": \"\",\n  \"disable_notification\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_get_chat",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/chat",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "chat"
          ]
        },
        "description": "Get up to date information about the chat (current name of the user for one-on-one conversations, current username of a user, group or channel, etc.). The bot must be a member of or have access to the",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_get_chat_administrators",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/chat/administrators",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "chat",
            "administrators"
          ]
        },
        "description": "Get a list of administrators in a chat. On success, returns an Array of ChatMember objects containing information about all chat administrators except other bots. Only meaningful for supergroups and c",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_get_chat_history",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/chat/history",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "chat",
            "history"
          ]
        },
        "description": "Get chat history messages via the getUpdates polling method, filtered by chat_id. Returns only updates from the specified chat. Bot can only retrieve messages sent after it joined the chat; missing ol",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"chat_id\": \"\",\n  \"message_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_get_chat_member",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/chat/member",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "chat",
            "member"
          ]
        },
        "description": "Get a chat member's status/role (including the bot itself) to preflight permissions and troubleshoot 403/empty-history issues. Use before sending messages to verify bot membership and permissions.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\",\n  \"user_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_get_chat_members_count",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/chat/members/count",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "chat",
            "members",
            "count"
          ]
        },
        "description": "Get the number of members in a chat. The bot must be an administrator in the chat for this to work. Insufficient admin permissions surface as authorization errors, not as a zero or empty count.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_get_me",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/me",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "me"
          ]
        },
        "description": "Get basic information about the bot using the Bot API getMe method. Returns fields like id, username, first_name, and capabilities. If the response returns ok=false, the bot token is invalid or revoke",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_get_updates",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/updates",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "updates"
          ]
        },
        "description": "Use this method to receive incoming updates using long polling. An Array of Update objects is returned. IMPORTANT: This method will not work if an outgoing webhook is set up. Webhooks and getUpdates a",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"timeout\": 0,\n  \"allowed_updates\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_send_document",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/document",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "document"
          ]
        },
        "description": "Send general files (documents) to a Telegram chat using the Bot API. Prefer over TELEGRAM_SEND_PHOTO when original file format or image resolution must be preserved. Rapid sends trigger flood control ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"caption\": \"\",\n  \"chat_id\": \"\",\n  \"document\": \"\",\n  \"thumbnail\": \"\",\n  \"parse_mode\": \"\",\n  \"reply_markup\": \"\",\n  \"reply_to_message_id\": 0,\n  \"disable_notification\": false,\n  \"disable_content_type_detection\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_send_location",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/location",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "location"
          ]
        },
        "description": "Send point on the map location to a Telegram chat using the Bot API.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\",\n  \"heading\": 0,\n  \"latitude\": 0,\n  \"longitude\": 0,\n  \"live_period\": 0,\n  \"reply_markup\": \"\",\n  \"horizontal_accuracy\": 0,\n  \"reply_to_message_id\": 0,\n  \"disable_notification\": false,\n  \"proximity_alert_radius\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_send_message",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/message",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "message"
          ]
        },
        "description": "Send a text message to a Telegram chat using the Bot API. Bots must be members of target groups/channels with post rights. Rate limit: ~1 msg/sec per chat, ~30 msg/sec globally; exceeding returns 429 ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"text\": \"\",\n  \"chat_id\": \"\",\n  \"parse_mode\": \"\",\n  \"reply_markup\": \"\",\n  \"reply_to_message_id\": 0,\n  \"disable_notification\": false,\n  \"disable_web_page_preview\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_send_photo",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/photo",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "photo"
          ]
        },
        "description": "Send photos to a Telegram chat using the Bot API. Telegram compresses and re-encodes images; use TELEGRAM_SEND_DOCUMENT to preserve original resolution/format. Each call produces a separate post; no m",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"photo\": \"\",\n  \"caption\": \"\",\n  \"chat_id\": \"\",\n  \"parse_mode\": \"\",\n  \"reply_markup\": \"\",\n  \"reply_to_message_id\": 0,\n  \"disable_notification\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_send_poll",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/poll",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "poll"
          ]
        },
        "description": "Send a native poll to a Telegram chat using the Bot API.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"type\": \"\",\n  \"chat_id\": \"\",\n  \"options\": \"\",\n  \"question\": \"\",\n  \"is_closed\": false,\n  \"close_date\": 0,\n  \"explanation\": \"\",\n  \"open_period\": 0,\n  \"is_anonymous\": false,\n  \"reply_markup\": \"\",\n  \"correct_option_id\": 0,\n  \"reply_to_message_id\": 0,\n  \"disable_notification\": false,\n  \"explanation_parse_mode\": \"\",\n  \"allows_multiple_answers\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "telegram_set_my_commands",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/set/my/commands",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "set",
            "my",
            "commands"
          ]
        },
        "description": "Use this method to change the list of the bot's commands. See https://core.telegram.org/bots#commands for more details about bot commands.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"scope\": \"\",\n  \"commands\": \"\",\n  \"language_code\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}