> ## 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 an automatic payment

> ### Overview

Stops a subscription at the end of its paid period. The service continues to run, and future invoices must be paid manually. To stop the service, use the service cancellation endpoint. `can_cancel` indicates whether cancellation is allowed. Subscriptions belonging to another account return 404.

### Permissions

Requires the account permission `billing.manage` (Manage billing).



## OpenAPI

````yaml https://console.advinservers.com/docs/openapi.json post /billing/subscriptions/{subscription}/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/subscriptions/{subscription}/cancel:
    post:
      tags:
        - Billing
      summary: Cancel an automatic payment
      description: >-
        ### Overview


        Stops a subscription at the end of its paid period. The service
        continues to run, and future invoices must be paid manually. To stop the
        service, use the service cancellation endpoint. `can_cancel` indicates
        whether cancellation is allowed. Subscriptions belonging to another
        account return 404.


        ### Permissions


        Requires the account permission `billing.manage` (Manage billing).
      operationId: client.billing.subscriptions.cancel
      parameters:
        - name: subscription
          in: path
          required: true
          description: The subscription ID.
          schema:
            type: string
            examples:
              - a216c52c-ccea-430f-b3bf-09aaf1025a44
          example: a216c52c-ccea-430f-b3bf-09aaf1025a44
      responses:
        '200':
          description: The record, as a JSON object. There is no envelope.
          content:
            application/json:
              schema:
                examples:
                  - uuid: a216c52c-ccea-430f-b3bf-09aaf1025a44
                    provider: paddle
                    status: active
                    is_healthy: true
                    is_cancelled: false
                    is_ending: true
                    description: Standard 4 GB · Kansas City, MO · Monthly
                    billing_cycle: monthly
                    amount: '12.00'
                    currency: USD
                    next_charge_at: null
                    ends_at: '2026-10-02T19:15:08+00:00'
                    cancelled_at: null
                    last_paid_at: '2026-09-02T19:15:08+00:00'
                    can_cancel: false
                    services:
                      - service_id: 7312
                        name: Standard 4 GB
                        hostname: lambda-core.blackmesa.example.com
                        status: Active
                        next_due_date: '2026-10-02'
                        server_id: ecc6f4f1
                        server:
                          id: ecc6f4f1
                          name: lambda-core
                          hostname: lambda-core.blackmesa.example.com
                          location: Kansas City, MO
                          windows: false
                          template_name: Ubuntu 24.04
                          template_icon_url: https://img.icons8.com/color/48/ubuntu.png
                        is_known: true
                    cancellation_service_id: null
                allOf:
                  - $ref: '#/components/schemas/SubscriptionData'
        '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:
    SubscriptionData:
      type: object
      description: One standing arrangement to charge the customer again.
      examples:
        - uuid: a216c52c-ccea-430f-b3bf-09aaf1025a44
          provider: paddle
          status: active
          is_healthy: true
          is_cancelled: false
          is_ending: false
          description: Standard 4 GB · Kansas City, MO · Monthly
          billing_cycle: monthly
          amount: '12.00'
          currency: USD
          next_charge_at: '2026-10-02T19:15:08+00:00'
          ends_at: null
          cancelled_at: null
          last_paid_at: '2026-09-02T19:15:08+00:00'
          can_cancel: true
          services:
            - service_id: 7312
              name: Standard 4 GB
              hostname: lambda-core.blackmesa.example.com
              status: Active
              next_due_date: '2026-10-02'
              server_id: ecc6f4f1
              server:
                id: ecc6f4f1
                name: lambda-core
                hostname: lambda-core.blackmesa.example.com
                location: Kansas City, MO
                windows: false
                template_name: Ubuntu 24.04
                template_icon_url: https://img.icons8.com/color/48/ubuntu.png
              is_known: true
          cancellation_service_id: null
      properties:
        uuid:
          type: string
          description: The uuid UUID.
          examples:
            - a216c52c-ccea-430f-b3bf-09aaf1025a44
        provider:
          type: string
          description: The value of `provider`.
          examples:
            - paddle
        status:
          type: string
          description: The payment provider's current status.
          examples:
            - active
        is_healthy:
          type: boolean
          description: Whether the resource is healthy.
          examples:
            - true
        is_cancelled:
          type: boolean
          description: Whether the resource is cancelled.
          examples:
            - false
        is_ending:
          type: boolean
          description: Whether the resource is ending.
          examples:
            - false
        description:
          type:
            - string
            - 'null'
          description: >-
            What it was bought as. The fallback name for a row whose services
            have gone away.
          examples:
            - Standard 4 GB · Kansas City, MO · Monthly
        billing_cycle:
          type:
            - string
            - 'null'
          description: How often the service renews and is billed.
          examples:
            - monthly
        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
        next_charge_at:
          type:
            - string
            - 'null'
          description: >-
            The next charge date, or null if no further payments are scheduled.
            Ending subscriptions have no next charge date. If the payment
            provider has not reported a date, this is the next due date of the
            earliest service covered.
          examples:
            - '2026-10-02T19:15:08+00:00'
        ends_at:
          type:
            - string
            - 'null'
          description: When the agreed cancellation actually takes effect.
          examples:
            - null
        cancelled_at:
          type:
            - string
            - 'null'
          description: The date and time for cancelled at, in UTC.
          examples:
            - null
        last_paid_at:
          type:
            - string
            - 'null'
          description: The date and time for last paid at, in UTC.
          examples:
            - '2026-09-02T19:15:08+00:00'
        can_cancel:
          type: boolean
          description: >-
            Whether the subscription can still be cancelled through its payment
            provider.
          examples:
            - true
        services:
          type: array
          description: The value of `services`.
          examples:
            - - service_id: 7312
                name: Standard 4 GB
                hostname: lambda-core.blackmesa.example.com
                status: Active
                next_due_date: '2026-10-02'
                server_id: ecc6f4f1
                server:
                  id: ecc6f4f1
                  name: lambda-core
                  hostname: lambda-core.blackmesa.example.com
                  location: Kansas City, MO
                  windows: false
                  template_name: Ubuntu 24.04
                  template_icon_url: https://img.icons8.com/color/48/ubuntu.png
                is_known: true
          items:
            $ref: '#/components/schemas/SubscriptionServiceData'
        cancellation_service_id:
          type:
            - integer
            - 'null'
          description: >-
            For external payments, use the service autopay cancellation
            endpoint.
          examples:
            - null
      required:
        - uuid
        - provider
        - status
        - is_healthy
        - is_cancelled
        - is_ending
        - description
        - billing_cycle
        - amount
        - currency
        - next_charge_at
        - ends_at
        - cancelled_at
        - last_paid_at
        - can_cancel
        - services
        - cancellation_service_id
      title: SubscriptionData
    SubscriptionServiceData:
      type: object
      description: One thing a subscription pays for, in the customer's language.
      examples:
        - service_id: 7312
          name: Standard 4 GB
          hostname: lambda-core.blackmesa.example.com
          status: Active
          next_due_date: '2026-10-02'
          server_id: ecc6f4f1
          server:
            id: ecc6f4f1
            name: lambda-core
            hostname: lambda-core.blackmesa.example.com
            location: Kansas City, MO
            windows: false
            template_name: Ubuntu 24.04
            template_icon_url: https://img.icons8.com/color/48/ubuntu.png
          is_known: true
      properties:
        service_id:
          type: integer
          description: The service id ID.
          examples:
            - 7312
        name:
          type:
            - string
            - 'null'
          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
        next_due_date:
          type:
            - string
            - 'null'
          description: The value of `next_due_date`.
          examples:
            - '2026-10-02'
        server_id:
          type:
            - string
            - 'null'
          description: The server id ID.
          examples:
            - ecc6f4f1
        server:
          description: >-
            The machine itself, where the account still holds one for this
            service. Null for anything else a subscription pays for, and for a
            server that has since been handed back.
          examples:
            - id: ecc6f4f1
              name: lambda-core
              hostname: lambda-core.blackmesa.example.com
              location: Kansas City, MO
              windows: false
              template_name: Ubuntu 24.04
              template_icon_url: https://img.icons8.com/color/48/ubuntu.png
          anyOf:
            - $ref: '#/components/schemas/SubscriptionServerData'
            - type: 'null'
        is_known:
          type: boolean
          description: Whether the resource is known.
          examples:
            - true
      required:
        - service_id
        - name
        - hostname
        - status
        - next_due_date
        - server_id
        - server
        - is_known
      title: SubscriptionServiceData
    SubscriptionServerData:
      type: object
      description: The machine a recurring payment pays for.
      examples:
        - id: ecc6f4f1
          name: lambda-core
          hostname: lambda-core.blackmesa.example.com
          location: Kansas City, MO
          windows: false
          template_name: Ubuntu 24.04
          template_icon_url: https://img.icons8.com/color/48/ubuntu.png
      properties:
        id:
          type: string
          description: The id ID.
          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
        location:
          type: string
          description: The city the server stands in, e.g. "Nuremberg, DE".
          examples:
            - Kansas City, MO
        windows:
          type: boolean
          description: The value of `windows`.
          examples:
            - false
        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
      required:
        - id
        - name
        - hostname
        - location
        - windows
        - template_name
        - template_icon_url
      title: SubscriptionServerData
  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.