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

# Open a support ticket

> ### Overview

Opens a support ticket and returns it with its conversation. Send `department_id` from the department list, `subject`, `message` and `priority` (`Low`, `Medium` or `High`). Use `service_id` to identify the related service. You can include up to 5 files in `attachments[]`, limited to 4 MB each and 8 MB total. Ticket creation has a separate, stricter rate limit than ticket reads.

### Permissions

Requires the account permission `tickets.write` (Write to support).



## OpenAPI

````yaml https://console.advinservers.com/docs/openapi.json post /tickets
openapi: 3.1.0
info:
  title: API reference
  version: 1.0.0
  description: >-
    Use this API to manage your team's servers, networks, backups, and other
    resources.


    ## Authentication


    Create an API key under **API Keys** and send it as a bearer token with
    every request:


    ```

    Authorization: Bearer {YOUR_API_KEY}

    Accept: application/json

    ```


    Copy the key when you create it. It cannot be shown again. Revoking a key
    takes effect immediately.


    ## Permissions


    Give each key only the permissions it needs. Every endpoint lists the
    required permission.


    Permissions cover servers and other resources in the key's team.


    ## Team scope


    A key can access resources in the team selected when it was created. This
    includes servers,

    snapshots, backups, firewall groups, images, SSH keys, scripts, networks and
    addresses.

    Resources in other teams return `404 Not Found`. Create a separate key for
    each team.


    The key determines the team for every request. Legacy keys that had no team
    are assigned

    to the account's first owned team.


    ## Actions that need the panel


    API keys cannot do the following, even with every permission. Sign in to the
    panel in a

    browser to do them:


    - Create, edit or revoke API keys

    - Edit the IP groups that restrict API keys

    - End signed-in sessions

    - Change two-factor authentication

    - Change the account's email address

    - Accept or decline team invitations

    - Switch or leave a team


    This keeps a leaked key from widening its own access or locking you out of
    your account.


    ## Source IP restrictions


    A key can be restricted to one or more IP groups. Requests from other
    addresses are rejected.


    ## Requests and responses


    Each endpoint lists its path, query, header, and body parameters. Examples
    use fictional data.


    Single records use JSON objects. Collections use JSON arrays unless the
    endpoint supports pagination. Timestamps use ISO 8601 in UTC.


    Error responses include `message`. Validation errors also include an
    `errors` object for each field. Each endpoint lists its status codes.


    ## Audit log


    Every API request, including reads, is recorded in the account audit log
    with the key that made it.
servers:
  - url: https://console.advinservers.com/api/v1/client
security:
  - http: []
tags:
  - name: Account
    description: Billing contact details and account setup progress.
  - name: Account activity
    description: Actions performed in the current team by people and API keys.
  - name: Servers
    description: >-
      Order and list servers, read their state and resource use, open a console,
      and control power.
  - name: Server settings
    description: >-
      Rename a server, rebuild it, and change its hardware, media, resolvers and
      credentials.
  - name: Backups
    description: Scheduled server copies stored separately from the server.
  - name: Snapshots
    description: >-
      Take, restore and move server snapshots. Snapshots are kept in snapshot
      storage that the team buys by the GiB.
  - name: Firewall groups
    description: Reusable sets of firewall rules, and the servers they apply to.
  - name: IP groups
    description: Reusable source address lists for firewall rules.
  - name: Server firewall
    description: >-
      Read default traffic policies and rules managed outside your firewall
      groups.
  - name: IP addresses
    description: Manage floating IPs and server address assignments.
  - name: Private networks
    description: Connect servers over a private network in the same location.
  - name: Reverse DNS
    description: Set the hostnames returned by IP address lookups.
  - name: DDoS protection
    description: Configure attack filtering for server addresses.
  - name: Bandwidth
    description: Buy extra bandwidth and share it between servers or location pools.
  - name: SSH keys
    description: Public keys the account can install on a server when it is built.
  - name: Setup scripts
    description: Scripts the account can run on a server when it is built.
  - name: ISO images
    description: ISO images you have downloaded, and the servers they are mounted on.
  - name: Server upgrades
    description: Change an existing server's plan.
  - name: Checkout
    description: Choose a payment method and pay for a purchase.
  - name: Invoices
    description: View and pay account invoices.
  - name: Billing
    description: Manage service renewals, payment methods and account credit.
  - name: Transfers
    description: Move resources between teams or transfer ownership.
  - name: Teams
    description: Manage the team assigned to your API key.
  - name: Team members
    description: Invite people and manage their team access.
  - name: Team roles
    description: Define the permissions granted to team members.
  - name: Team activity
    description: View actions performed in a team.
  - name: Support tickets
    description: >-
      Open, read, reply to and close support tickets. Tickets belong to the
      account holder and are not shared with team members.
paths:
  /tickets:
    post:
      tags:
        - Support tickets
      summary: Open a support ticket
      description: >-
        ### Overview


        Opens a support ticket and returns it with its conversation. Send
        `department_id` from the department list, `subject`, `message` and
        `priority` (`Low`, `Medium` or `High`). Use `service_id` to identify the
        related service. You can include up to 5 files in `attachments[]`,
        limited to 4 MB each and 8 MB total. Ticket creation has a separate,
        stricter rate limit than ticket reads.


        ### Permissions


        Requires the account permission `tickets.write` (Write to support).
      operationId: client.tickets.store
      requestBody:
        description: >-
          Send a JSON object containing the fields below. Required fields are
          marked in the schema.
        required: true
        content:
          multipart/form-data:
            schema:
              examples:
                - department_id: 1
                  subject: Packet loss on lambda-core
                  message: >-
                    Since about 08:30 UTC lambda-core has been dropping around
                    5% of packets from the Sector C labs. MTR output from
                    192.0.2.44 is attached. sector-c-db in the same location is
                    not affected, so we have paused the anti-mass spectrometer
                    test runs for now.
                  priority: Medium
                  service_id: 7312
                  attachments:
                    - mtr-lambda-core.txt
              allOf:
                - $ref: '#/components/schemas/StoreTicketRequest'
      responses:
        '201':
          description: The record, as a JSON object. There is no envelope.
          content:
            application/json:
              schema:
                examples:
                  - id: 5316
                    number: NQX-482913
                    subject: Packet loss on lambda-core
                    status: Open
                    priority: Medium
                    department: Technical Support
                    opened_at: '2026-09-14T09:12:44+00:00'
                    last_replied_at: '2026-09-14T09:12:44+00:00'
                    awaiting_customer: false
                    closed: false
                    service: null
                    server:
                      id: ecc6f4f1-c89b-4dce-a20b-a330641c5b0b
                      uuid_short: ecc6f4f1
                      name: lambda-core
                      hostname: lambda-core.blackmesa.example.com
                      template_name: Ubuntu 24.04
                      template_icon_url: https://img.icons8.com/color/48/ubuntu.png
                      windows: false
                    url: >-
                      https://clients.advinservers.com/viewticket.php?tid=NQX-482913&c=Hx7kQ2Rm
                    messages:
                      - id: 0
                        author: Gordon Freeman
                        is_staff: false
                        posted_at: '2026-09-14T09:12:44+00:00'
                        body: >-
                          Since about 08:30 UTC lambda-core has been dropping
                          around 5% of packets from the Sector C labs. MTR
                          output from 192.0.2.44 is attached. sector-c-db in the
                          same location is not affected, so we have paused the
                          anti-mass spectrometer test runs for now.
                        attachments:
                          - index: 0
                            filename: mtr-lambda-core.txt
                            url: >-
                              /api/v1/client/tickets/5316/messages/0/attachments/0
                allOf:
                  - $ref: '#/components/schemas/TicketData'
        '400':
          description: >-
            Support is unavailable or the selected department cannot accept this
            ticket.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - The request could not be carried out.
                required:
                  - message
        '401':
          description: >-
            The key was missing, malformed, revoked, or belongs to an account
            that no longer exists.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - Unauthenticated.
                required:
                  - message
        '403':
          description: >-
            Access denied. Check the key's team, permissions and allowed IP
            addresses. Some actions, such as managing API keys, require a
            browser session. The response message explains the reason.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - >-
                        This API key is not allowed to do that in this team. It
                        needs the "snapshot.delete" permission.
                required:
                  - message
        '422':
          description: >-
            A field is missing or invalid, or the resource cannot accept this
            change in its current state. Check `message` for details. Field
            validation also includes an `errors` object keyed by field name.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: >-
                      A summary of the validation error or the reason the change
                      was refused.
                    examples:
                      - The name field is required.
                  errors:
                    type: object
                    description: Validation errors grouped by field name.
                    additionalProperties:
                      type: array
                      items:
                        type: string
                required:
                  - message
        '429':
          description: >-
            Too many requests. The `Retry-After` header says how many seconds to
            wait. Limits are per account, so several keys on one account share
            them.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - Too Many Attempts.
                required:
                  - message
components:
  schemas:
    StoreTicketRequest:
      type: object
      examples:
        - department_id: 1
          subject: Packet loss on lambda-core
          message: >-
            Since about 08:30 UTC lambda-core has been dropping around 5% of
            packets from the Sector C labs. MTR output from 192.0.2.44 is
            attached. sector-c-db in the same location is not affected, so we
            have paused the anti-mass spectrometer test runs for now.
          priority: Medium
          service_id: 7312
          attachments:
            - mtr-lambda-core.txt
      properties:
        department_id:
          type: integer
          description: The department id ID.
          minimum: 1
          maximum: 4294967295
        subject:
          type: string
          description: The subject line for the message.
          pattern: ^[^\p{C}]+$
          minLength: 3
          maxLength: 255
        message:
          type: string
          description: The message text.
          minLength: 2
          maxLength: 20000
        priority:
          type: string
          description: The value of `priority`.
          enum:
            - Low
            - Medium
            - High
        service_id:
          type:
            - integer
            - 'null'
          description: The service id ID.
          minimum: 1
          maximum: 4294967295
        attachments:
          type: array
          description: The value of `attachments`.
          items:
            type: string
            format: binary
            contentMediaType: application/octet-stream
            description: 'Maximum file size: 4096 kilobytes.'
          maxItems: 5
      required:
        - department_id
        - subject
        - message
        - priority
      title: StoreTicketRequest
    TicketData:
      type: object
      description: A support ticket and its current status.
      examples:
        - id: 5316
          number: NQX-482913
          subject: Packet loss on lambda-core
          status: Open
          priority: Medium
          department: Technical Support
          opened_at: '2026-09-14T09:12:44+00:00'
          last_replied_at: '2026-09-14T09:12:44+00:00'
          awaiting_customer: false
          closed: false
          service: null
          server:
            id: ecc6f4f1-c89b-4dce-a20b-a330641c5b0b
            uuid_short: ecc6f4f1
            name: lambda-core
            hostname: lambda-core.blackmesa.example.com
            template_name: Ubuntu 24.04
            template_icon_url: https://img.icons8.com/color/48/ubuntu.png
            windows: false
          url: >-
            https://clients.advinservers.com/viewticket.php?tid=NQX-482913&c=Hx7kQ2Rm
      properties:
        id:
          type: integer
          description: The id ID.
          examples:
            - 5316
        number:
          type: string
          description: >-
            The ticket reference sent by email, such as #ABC-123456. Use the
            numeric ticket ID for API requests.
          examples:
            - NQX-482913
        subject:
          type: string
          description: The subject line for the message.
          examples:
            - Packet loss on lambda-core
        status:
          type: string
          description: The value of `status`.
          examples:
            - Open
        priority:
          type:
            - string
            - 'null'
          description: The value of `priority`.
          examples:
            - Medium
        department:
          type:
            - string
            - 'null'
          description: The value of `department`.
          examples:
            - Technical Support
        opened_at:
          type:
            - string
            - 'null'
          description: The date and time for opened at, in UTC.
          examples:
            - '2026-09-14T09:12:44+00:00'
        last_replied_at:
          type:
            - string
            - 'null'
          description: The date and time for last replied at, in UTC.
          examples:
            - '2026-09-14T09:12:44+00:00'
        awaiting_customer:
          type: boolean
          description: Whether the customer is the one being waited on.
          examples:
            - false
        closed:
          type: boolean
          description: The value of `closed`.
          examples:
            - false
        service:
          type:
            - string
            - 'null'
          description: The value of `service`.
          examples:
            - null
        server:
          description: >-
            The machine it is about, where the service names one. Enough of it
            to draw the badge the customer recognises and to link to it.
          examples:
            - id: ecc6f4f1-c89b-4dce-a20b-a330641c5b0b
              uuid_short: ecc6f4f1
              name: lambda-core
              hostname: lambda-core.blackmesa.example.com
              template_name: Ubuntu 24.04
              template_icon_url: https://img.icons8.com/color/48/ubuntu.png
              windows: false
          anyOf:
            - $ref: '#/components/schemas/TicketServerData'
            - type: 'null'
        url:
          type:
            - string
            - 'null'
          description: >-
            The ticket's external portal URL. Use it for actions or attachment
            types unavailable in the panel.
          examples:
            - >-
              https://clients.advinservers.com/viewticket.php?tid=NQX-482913&c=Hx7kQ2Rm
        messages:
          description: The conversation, oldest first, and only where it was asked for.
          anyOf:
            - {}
            - type: array
              items:
                $ref: '#/components/schemas/TicketMessageData'
      required:
        - id
        - number
        - subject
        - status
        - priority
        - department
        - opened_at
        - last_replied_at
        - awaiting_customer
        - closed
        - service
        - server
        - url
      title: TicketData
    TicketServerData:
      type: object
      description: The server associated with a support ticket.
      examples:
        - id: ecc6f4f1-c89b-4dce-a20b-a330641c5b0b
          uuid_short: ecc6f4f1
          name: lambda-core
          hostname: lambda-core.blackmesa.example.com
          template_name: Ubuntu 24.04
          template_icon_url: https://img.icons8.com/color/48/ubuntu.png
          windows: false
      properties:
        id:
          type: string
          description: The id ID.
          examples:
            - ecc6f4f1-c89b-4dce-a20b-a330641c5b0b
        uuid_short:
          type: string
          description: The value of `uuid_short`.
          examples:
            - ecc6f4f1
        name:
          type: string
          description: The name shown to customers.
          examples:
            - lambda-core
        hostname:
          type: string
          description: The fully qualified hostname.
          examples:
            - lambda-core.blackmesa.example.com
        template_name:
          type:
            - string
            - 'null'
          description: The value of `template_name`.
          examples:
            - Ubuntu 24.04
        template_icon_url:
          type:
            - string
            - 'null'
          description: The value of `template_icon_url`.
          examples:
            - https://img.icons8.com/color/48/ubuntu.png
        windows:
          type: boolean
          description: The value of `windows`.
          examples:
            - false
      required:
        - id
        - uuid_short
        - name
        - hostname
        - template_name
        - template_icon_url
        - windows
      title: TicketServerData
    TicketMessageData:
      type: object
      description: One post in a support conversation.
      examples:
        - id: 0
          author: Gordon Freeman
          is_staff: false
          posted_at: '2026-09-14T09:12:44+00:00'
          body: >-
            Since about 08:30 UTC lambda-core has been dropping around 5% of
            packets from the Sector C labs. MTR output from 192.0.2.44 is
            attached. sector-c-db in the same location is not affected, so we
            have paused the anti-mass spectrometer test runs for now.
          attachments:
            - index: 0
              filename: mtr-lambda-core.txt
              url: /api/v1/client/tickets/5316/messages/0/attachments/0
      properties:
        id:
          type: integer
          description: The id ID.
          examples:
            - 0
        author:
          type:
            - string
            - 'null'
          description: >-
            Staff are shown by whatever name the installation puts on their
            replies, which is often a role rather than a person and is the name
            the customer already sees in the ticket emails.
          examples:
            - Gordon Freeman
        is_staff:
          type: boolean
          description: Whether the resource is staff.
          examples:
            - false
        posted_at:
          type:
            - string
            - 'null'
          description: The date and time for posted at, in UTC.
          examples:
            - '2026-09-14T09:12:44+00:00'
        body:
          type: string
          description: The message body.
          examples:
            - >-
              Since about 08:30 UTC lambda-core has been dropping around 5% of
              packets from the Sector C labs. MTR output from 192.0.2.44 is
              attached. sector-c-db in the same location is not affected, so we
              have paused the anti-mass spectrometer test runs for now.
        attachments:
          type: array
          description: The value of `attachments`.
          examples:
            - - index: 0
                filename: mtr-lambda-core.txt
                url: /api/v1/client/tickets/5316/messages/0/attachments/0
          items:
            $ref: '#/components/schemas/TicketAttachmentData'
      required:
        - id
        - author
        - is_staff
        - posted_at
        - body
        - attachments
      title: TicketMessageData
    TicketAttachmentData:
      type: object
      description: One file hanging off one ticket message, and the link that fetches it.
      examples:
        - index: 0
          filename: mtr-lambda-core.txt
          url: /api/v1/client/tickets/5316/messages/0/attachments/0
      properties:
        index:
          type: integer
          description: The value of `index`.
          examples:
            - 0
        filename:
          type: string
          description: The value of `filename`.
          examples:
            - mtr-lambda-core.txt
        url:
          type: string
          description: The complete URL.
          examples:
            - /api/v1/client/tickets/5316/messages/0/attachments/0
      required:
        - index
        - filename
        - url
      title: TicketAttachmentData
  securitySchemes:
    http:
      type: http
      description: >-
        Your API key, sent as a bearer token. Create one in the control panel
        under API Keys, give it only the permissions the integration needs, and
        copy it when it is created. It cannot be shown again. Each key is
        restricted to one owned team. The key determines the team for every
        request.
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.