> ## 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.

# Cancel a service

> ### Overview

Requests cancellation of the service and stops its automatic payments. **Cancelling a server permanently deletes the server and its data.** Cancellation can take effect immediately or at the end of the paid period.

Send `type` using a value from `cancellation_types`. For a server, optionally send `delete_floating_ip_uuids` containing attached secondary floating IPs to cancel too. An empty or omitted list preserves the IPs and their billing. Selected rentals use the chosen cancellation timing and their own billing periods; granted IPs are released when the server is deleted. Cancelling rentals requires `billing.purchase`; deleting granted IPs requires `network.delete`. Primary addresses cannot be selected.

A server that is busy with another operation, such as an upgrade, cannot be cancelled until that operation finishes. The same applies to a floating IP attached to such a server. A suspended server can still be cancelled.

This call records the request; server deletion happens later. If billing fails partway through, completed IP cancellations remain in effect. Returns the service with its pending cancellation.

### Permissions

Requires the `billing.manage` (Manage service billing) permission for the selected team. Resources outside that team return 404.



## OpenAPI

````yaml https://console.advinservers.com/docs/openapi.json post /billing/managed-services/{service}/cancel
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:
  /billing/managed-services/{service}/cancel:
    post:
      tags:
        - Billing
      summary: Cancel a service
      description: >-
        ### Overview


        Requests cancellation of the service and stops its automatic payments.
        **Cancelling a server permanently deletes the server and its data.**
        Cancellation can take effect immediately or at the end of the paid
        period.


        Send `type` using a value from `cancellation_types`. For a server,
        optionally send `delete_floating_ip_uuids` containing attached secondary
        floating IPs to cancel too. An empty or omitted list preserves the IPs
        and their billing. Selected rentals use the chosen cancellation timing
        and their own billing periods; granted IPs are released when the server
        is deleted. Cancelling rentals requires `billing.purchase`; deleting
        granted IPs requires `network.delete`. Primary addresses cannot be
        selected.


        A server that is busy with another operation, such as an upgrade, cannot
        be cancelled until that operation finishes. The same applies to a
        floating IP attached to such a server. A suspended server can still be
        cancelled.


        This call records the request; server deletion happens later. If billing
        fails partway through, completed IP cancellations remain in effect.
        Returns the service with its pending cancellation.


        ### Permissions


        Requires the `billing.manage` (Manage service billing) permission for
        the selected team. Resources outside that team return 404.
      operationId: client.billing.managed-services.cancel
      parameters:
        - name: service
          in: path
          required: true
          description: The service ID returned by the billing endpoints.
          schema:
            type: string
            examples:
              - 7312
          example: 7312
      requestBody:
        description: >-
          Send a JSON object containing the fields below. Required fields are
          marked in the schema.
        required: true
        content:
          application/json:
            schema:
              examples:
                - type: end_of_billing
                  delete_floating_ip_uuids: []
              allOf:
                - $ref: '#/components/schemas/CancelBillingServiceRequest'
      responses:
        '200':
          description: The record, as a JSON object. There is no envelope.
          content:
            application/json:
              schema:
                examples:
                  - service_id: 7312
                    name: Standard 4 GB
                    hostname: lambda-core.blackmesa.example.com
                    status: Active
                    billing_cycle: Monthly
                    recurring_amount: '12.00'
                    currency: USD
                    server_id: ecc6f4f1
                    next_due_date: '2026-10-02'
                    period:
                      starts_at: '2026-09-02'
                      ends_at: '2026-10-02'
                      total_days: 30
                      days_remaining: 18
                      days_overdue: 0
                      remaining_fraction: 0.6
                      state: healthy
                    autopay: true
                    autopay_ending: true
                    subscription:
                      uuid: a216c52c-ccea-430f-b3bf-09aaf1025a44
                      status: active
                      next_charge_at: null
                      ends_at: '2026-10-02T19:15:08+00:00'
                      amount: '12.00'
                      currency: USD
                    cancellation:
                      requested_at: '2026-09-14T16:42:09+00:00'
                      type: end_of_billing
                      type_label: At the end of the billing period
                      reason: >-
                        Consolidating the test chamber workloads onto
                        sector-c-db.
                    can_start_subscription: true
                    can_cancel_subscription: false
                    can_change_cycle: true
                    can_cancel_service: false
                    can_withdraw_cancellation: true
                    immediate_refund: '7.20'
                    pays_from_credit: true
                    can_change_credit: true
                    autopay_provider: paddle
                    autopay_details: active
                    suspension_reason: null
                allOf:
                  - $ref: '#/components/schemas/BillingServiceData'
        '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
        '404':
          description: >-
            The resource was not found in the selected team. Resources in
            another account or team also return 404.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - Not found.
                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:
    CancelBillingServiceRequest:
      type: object
      examples:
        - type: end_of_billing
          delete_floating_ip_uuids: []
      properties:
        type:
          type: string
          description: The type of operation or resource.
          enum:
            - immediate
            - end_of_billing
        delete_floating_ip_uuids:
          type: array
          description: The value of `delete_floating_ip_uuids`.
          items:
            type: string
            format: uuid
          maxItems: 100
          uniqueItems: true
      required:
        - type
      title: CancelBillingServiceRequest
    BillingServiceData:
      type: object
      examples:
        - service_id: 7312
          name: Standard 4 GB
          hostname: lambda-core.blackmesa.example.com
          status: Active
          billing_cycle: Monthly
          recurring_amount: '12.00'
          currency: USD
          server_id: ecc6f4f1
          next_due_date: '2026-10-02'
          period:
            starts_at: '2026-09-02'
            ends_at: '2026-10-02'
            total_days: 30
            days_remaining: 18
            days_overdue: 0
            remaining_fraction: 0.6
            state: healthy
          autopay: true
          autopay_ending: false
          subscription:
            uuid: a216c52c-ccea-430f-b3bf-09aaf1025a44
            status: active
            next_charge_at: '2026-10-02T19:15:08+00:00'
            ends_at: null
            amount: '12.00'
            currency: USD
          cancellation: null
          can_start_subscription: false
          can_cancel_subscription: true
          can_change_cycle: true
          can_cancel_service: true
          can_withdraw_cancellation: false
          immediate_refund: '7.20'
          pays_from_credit: true
          can_change_credit: true
          autopay_provider: paddle
          autopay_details: active
          suspension_reason: null
      properties:
        service_id:
          type: integer
          description: The service id ID.
          examples:
            - 7312
        name:
          type: string
          description: The name shown to customers.
          examples:
            - Standard 4 GB
        hostname:
          type:
            - string
            - 'null'
          description: The fully qualified hostname.
          examples:
            - lambda-core.blackmesa.example.com
        status:
          type:
            - string
            - 'null'
          description: The value of `status`.
          examples:
            - Active
        billing_cycle:
          type:
            - string
            - 'null'
          description: How often the service renews and is billed.
          examples:
            - Monthly
        recurring_amount:
          type:
            - string
            - 'null'
          description: The amount charged each billing cycle.
          examples:
            - '12.00'
        currency:
          type:
            - string
            - 'null'
          description: The three-letter currency code used for monetary amounts.
          examples:
            - USD
        server_id:
          type:
            - string
            - 'null'
          description: The server id ID.
          examples:
            - ecc6f4f1
        next_due_date:
          type:
            - string
            - 'null'
          description: The value of `next_due_date`.
          examples:
            - '2026-10-02'
        period:
          description: The value of `period`.
          examples:
            - starts_at: '2026-09-02'
              ends_at: '2026-10-02'
              total_days: 30
              days_remaining: 18
              days_overdue: 0
              remaining_fraction: 0.6
              state: healthy
          anyOf:
            - $ref: '#/components/schemas/ServicePeriodData'
            - type: 'null'
        autopay:
          type: boolean
          description: >-
            Whether anything will be charged automatically. The tick or the
            cross in the Autopay column.
          examples:
            - true
        autopay_ending:
          type: boolean
          description: >-
            Autopay that has been turned off but has not stopped yet. Its own
            state, drawn between the tick and the cross.
          examples:
            - false
        subscription:
          description: The value of `subscription`.
          examples:
            - uuid: a216c52c-ccea-430f-b3bf-09aaf1025a44
              status: active
              next_charge_at: '2026-10-02T19:15:08+00:00'
              ends_at: null
              amount: '12.00'
              currency: USD
          anyOf:
            - $ref: '#/components/schemas/BillingServiceSubscriptionData'
            - type: 'null'
        cancellation:
          description: The value of `cancellation`.
          examples:
            - null
          anyOf:
            - $ref: '#/components/schemas/BillingServiceCancellationData'
            - type: 'null'
        can_start_subscription:
          type: boolean
          description: Whether the customer can start subscription.
          examples:
            - false
        can_cancel_subscription:
          type: boolean
          description: Whether the customer can cancel subscription.
          examples:
            - true
        can_change_cycle:
          type: boolean
          description: Whether the customer can change cycle.
          examples:
            - true
        can_cancel_service:
          type: boolean
          description: Whether the customer can cancel service.
          examples:
            - true
        can_withdraw_cancellation:
          type: boolean
          description: Whether the customer can withdraw cancellation.
          examples:
            - false
        immediate_refund:
          type:
            - string
            - 'null'
          description: >-
            What stopping this service today would put back on the account, in
            the currency beside it.
          examples:
            - '7.20'
        pays_from_credit:
          type: boolean
          description: >-
            Whether renewals of this service are paid out of the account's
            credit balance where there is one. True unless the customer has
            turned it off, which is what the balance does by default.
          examples:
            - true
        can_change_credit:
          type: boolean
          description: >-
            Whether that can be changed from here. False where the installation
            does not offer account credit at all, or cannot enforce the answer
            per service.
          examples:
            - true
        autopay_provider:
          type:
            - string
            - 'null'
          description: The value of `autopay_provider`.
          examples:
            - paddle
        autopay_details:
          type:
            - string
            - 'null'
          description: The value of `autopay_details`.
          examples:
            - active
        suspension_reason:
          type:
            - string
            - 'null'
          description: The value of `suspension_reason`.
          examples:
            - null
      required:
        - service_id
        - name
        - hostname
        - status
        - billing_cycle
        - recurring_amount
        - currency
        - server_id
        - next_due_date
        - period
        - autopay
        - autopay_ending
        - subscription
        - cancellation
        - can_start_subscription
        - can_cancel_subscription
        - can_change_cycle
        - can_cancel_service
        - can_withdraw_cancellation
        - immediate_refund
        - pays_from_credit
        - can_change_credit
        - autopay_provider
        - autopay_details
        - suspension_reason
      title: BillingServiceData
    ServicePeriodData:
      type: object
      examples:
        - starts_at: '2026-09-02'
          ends_at: '2026-10-02'
          total_days: 30
          days_remaining: 18
          days_overdue: 0
          remaining_fraction: 0.6
          state: healthy
      properties:
        starts_at:
          type: string
          description: The date and time for starts at, in UTC.
          examples:
            - '2026-09-02'
        ends_at:
          type: string
          description: The date and time for ends at, in UTC.
          examples:
            - '2026-10-02'
        total_days:
          type: integer
          description: The value of `total_days`.
          examples:
            - 30
        days_remaining:
          type: integer
          description: The value of `days_remaining`.
          examples:
            - 18
        days_overdue:
          type: integer
          description: >-
            Zero rather than a negative `days_remaining`, so a caller never has
            to decide which of the two fields to believe.
          examples:
            - 0
        remaining_fraction:
          type: number
          description: The share of the period still to run.
          examples:
            - 0.6
        state:
          type: string
          description: >-
            `healthy`, `due_soon`, `critical` or `overdue`, named on the server
            so every surface showing a term agrees about when one has become
            worth worrying about.
          examples:
            - healthy
      required:
        - starts_at
        - ends_at
        - total_days
        - days_remaining
        - days_overdue
        - remaining_fraction
        - state
      title: ServicePeriodData
    BillingServiceSubscriptionData:
      type: object
      description: The automatic payment subscription for one service.
      examples:
        - uuid: a216c52c-ccea-430f-b3bf-09aaf1025a44
          status: active
          next_charge_at: '2026-10-02T19:15:08+00:00'
          ends_at: null
          amount: '12.00'
          currency: USD
      properties:
        uuid:
          type: string
          description: The uuid UUID.
          examples:
            - a216c52c-ccea-430f-b3bf-09aaf1025a44
        status:
          type: string
          description: The payment provider's current status.
          examples:
            - active
        next_charge_at:
          type:
            - string
            - 'null'
          description: >-
            Null once nothing further will be charged, including for a
            subscription that is merely winding down.
          examples:
            - '2026-10-02T19:15:08+00:00'
        ends_at:
          type:
            - string
            - 'null'
          description: When an agreed cancellation actually takes effect.
          examples:
            - null
        amount:
          type:
            - string
            - 'null'
          description: The amount in the currency shown by `currency`.
          examples:
            - '12.00'
        currency:
          type:
            - string
            - 'null'
          description: The three-letter currency code used for monetary amounts.
          examples:
            - USD
      required:
        - uuid
        - status
        - next_charge_at
        - ends_at
        - amount
        - currency
      title: BillingServiceSubscriptionData
    BillingServiceCancellationData:
      type: object
      description: >-
        A cancellation the customer has already asked for and that has not taken
        effect yet.
      examples:
        - requested_at: '2026-09-14T16:42:09+00:00'
          type: end_of_billing
          type_label: At the end of the billing period
          reason: Consolidating the test chamber workloads onto sector-c-db.
      properties:
        requested_at:
          type:
            - string
            - 'null'
          description: The date and time for requested at, in UTC.
          examples:
            - '2026-09-14T16:42:09+00:00'
        type:
          type:
            - string
            - 'null'
          description: The type of operation or resource.
          examples:
            - end_of_billing
        type_label:
          type:
            - string
            - 'null'
          description: The value of `type_label`.
          examples:
            - At the end of the billing period
        reason:
          type:
            - string
            - 'null'
          description: The value of `reason`.
          examples:
            - Consolidating the test chamber workloads onto sector-c-db.
      required:
        - requested_at
        - type
        - type_label
        - reason
      title: BillingServiceCancellationData
  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.