Support tickets

Support tickets are how you reach the Cloudfleet team for product questions, billing matters, or technical issues that the documentation does not cover. Tickets are scoped to your organization, so every member of your organization can see, reply to, and close any ticket in your account.

You can interact with tickets in four ways:

  • The in-product support center in the Cloudfleet console for interactive use.
  • The cloudfleet CLI for scripts, runbooks, and CI pipelines.
  • The HTTP API at https://api.cloudfleet.ai/v1/tickets for direct integrations.
  • The Cloudfleet MCP server, which exposes ticket tools to AI assistants so the assistant that is already driving your Cloudfleet environment can also file and follow up on tickets.

Categories and statuses

Every ticket has a category and a status.

Categories steer routing inside Cloudfleet. Pick the one that best matches your question:

  • technical for cluster, node, networking, storage, or workload issues.
  • billing for invoices, credits, payment methods, and pricing questions.
  • general for anything else, including account, onboarding, or feedback.

Statuses are managed by the system and reflect who owes the next response:

  • waiting_on_us: Cloudfleet has the ball. Set automatically when you create a ticket or reply.
  • waiting_on_user: Cloudfleet has replied and is waiting for you.
  • closed: terminal state. Closed tickets cannot be reopened. To continue a conversation after close, open a new ticket and reference the previous ticket ID in the body.

Prerequisites

Make sure the Cloudfleet CLI is installed and that you have an authenticated profile.

cloudfleet auth login
cloudfleet --version

The ticketing commands require CLI version 0.7.0 or later.

Create a ticket

A ticket carries an initial customer message in markdown. There is no separate subject field; the first message body is the description. Optional properties can carry structured context such as the affected cluster ID, which Cloudfleet support uses to jump straight to the right environment.

  1. Open the Support center.
  2. Click New ticket.
  3. Pick a category, write the description in markdown, attach files if needed, and submit.
cloudfleet tickets create-ticket \
  .category: technical, \
  .body: "Node provisioning is stuck in fra1 since 14:00 UTC. No new nodes are coming up for pending workloads.", \
  .properties.cluster_id: 60c72b2f9f1b2c001f8e4d3a, \
  .properties.subcategory: cluster-question

category and body are required. properties is a free-form key/value bag; the most useful fields are cluster_id, cluster_name, and region.

curl -X POST https://api.cloudfleet.ai/v1/tickets \
  -H "Authorization: Bearer $CLOUDFLEET_TOKEN" \
  -F 'payload={"category":"technical","body":"Node provisioning is stuck in fra1 since 14:00 UTC.","properties":{"cluster_id":"60c72b2f9f1b2c001f8e4d3a"}}' \
  -F 'attachments=@./kubectl-describe.txt'

The endpoint is multipart/form-data so that file attachments can ride along with the JSON payload field. Use one -F attachments=@... flag per file.

Through the Cloudfleet MCP server, the assistant calls the tickets_create tool with category, body, and optional properties. Attachments cannot be uploaded over MCP; paste relevant logs inline in the body instead.

The response contains the ticket id. Keep it for follow-up commands.

Attachments

Cloudfleet accepts up to three attachments per message, with a 10 MB limit per file. Allowed types cover the formats support engineers actually need: plain text, JSON, YAML, logs, common image formats, and PDFs. Executables and SVG files are rejected.

When in doubt, paste long output into the message body inside a fenced code block instead of attaching a file. The body limit is 50,000 characters, which is enough for most kubectl describe and pod log excerpts.

List and inspect tickets

The Support center lists every ticket in your organization, newest first, with status badges and a one-line summary. Click any row to open the conversation, download attachments, and reply.

cloudfleet tickets list

To read the full conversation including replies:

cloudfleet tickets describe-ticket 60c72b2f9f1b2c001f8e4d3a
curl https://api.cloudfleet.ai/v1/tickets \
  -H "Authorization: Bearer $CLOUDFLEET_TOKEN"

curl https://api.cloudfleet.ai/v1/tickets/$TICKET_ID \
  -H "Authorization: Bearer $CLOUDFLEET_TOKEN"

GET /v1/tickets returns the list; GET /v1/tickets/{id} returns the full conversation including replies.

Assistants connected through the Cloudfleet MCP server use the tickets_list tool to enumerate tickets and tickets_get to fetch the full conversation for a ticket ID.

Reply to a ticket

Replies use the same multipart envelope as ticket creation. The reply is rejected with HTTP 409 if the ticket is already closed.

Open the ticket from the Support center and type into the inline reply box at the bottom of the thread.

cloudfleet tickets reply-ticket 60c72b2f9f1b2c001f8e4d3a \
  .body: "Confirmed, the issue stopped after the fix was deployed. Thanks."
curl -X POST https://api.cloudfleet.ai/v1/tickets/$TICKET_ID/messages \
  -H "Authorization: Bearer $CLOUDFLEET_TOKEN" \
  -F 'payload={"body":"Confirmed, the issue stopped after the fix was deployed."}'

Assistants connected through the Cloudfleet MCP server call the tickets_reply tool with the ticket ID and reply body. Replies to closed tickets are rejected; open a new ticket instead.

Download an attachment

To pull an attachment that support or a teammate uploaded, use the attachment ID listed in describe-ticket:

cloudfleet tickets get-ticket-attachment 60c72b2f9f1b2c001f8e4d3a 60c72b2f9f1b2c001f8e4d3b > attachment.bin

Close a ticket

Closing is a one-way operation.

cloudfleet tickets close-ticket 60c72b2f9f1b2c001f8e4d3a

Notifications

Cloudfleet routes ticket events to email:

  • When you create a ticket, the Cloudfleet support team is notified.
  • When support replies, every member of your organization who has email notifications enabled receives a copy.
  • When you reply, the ticket assignee at Cloudfleet is notified directly.

Using support tickets with AI assistants

AI assistants such as Claude, Cursor, and Windsurf can manage Cloudfleet tickets either through the Cloudfleet MCP server, which exposes tickets_list, tickets_get, tickets_create, and tickets_reply as first-class tools, or by invoking the cloudfleet CLI through a shell. An assistant that is already inspecting your clusters can therefore open a ticket with full context in the same conversation. Attachments cannot be uploaded over MCP; paste the relevant logs into the message body instead.

Example prompts

  • “Open a Cloudfleet technical ticket for cluster prod-eu saying the Hetzner load balancer keeps draining backends, and include the last kubectl describe service output.”
  • “List my open Cloudfleet tickets and summarize the latest reply on each.”
  • “Check ticket 60c72b2f9f1b2c001f8e4d3a for a new message from support.”
  • “Reply to the most recent technical ticket confirming the fix worked.”

Reference

  • API endpoints: POST /v1/tickets, GET /v1/tickets, GET /v1/tickets/{id}, DELETE /v1/tickets/{id}, POST /v1/tickets/{id}/messages, GET /v1/tickets/{id}/attachments/{attachment_id}.
  • Required scope: any authenticated user in the organization. Both Administrator and User roles can read and write tickets.
  • Body limits: 50,000 characters per message, 3 attachments per message, 10 MB per attachment.
  • See also: contact support form for anonymous or pre-account inquiries.
On this page