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

# Enable or disable account credit for a service

> ### Overview

Controls whether this service's renewal invoices can use account credit. Send `pays_from_credit` as true or false.

Credit is shared across the account and used for renewals in due-date order. Disabling it for this service leaves the balance available for other services. This service will still receive invoices on its usual schedule, which the customer must pay separately.

The setting applies to future invoices. It does not move money or change invoices already paid with credit. This option is available only when `account_credit_switchable` is true in the service list. Otherwise, the request is rejected with an explanation. Returns the updated service.

### 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 patch /billing/managed-services/{service}/account-credit
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}/account-credit:
    patch:
      tags:
        - Billing
      summary: Enable or disable account credit for a service
      description: >-
        ### Overview


        Controls whether this service's renewal invoices can use account credit.
        Send `pays_from_credit` as true or false.


        Credit is shared across the account and used for renewals in due-date
        order. Disabling it for this service leaves the balance available for
        other services. This service will still receive invoices on its usual
        schedule, which the customer must pay separately.


        The setting applies to future invoices. It does not move money or change
        invoices already paid with credit. This option is available only when
        `account_credit_switchable` is true in the service list. Otherwise, the
        request is rejected with an explanation. Returns the updated service.


        ### Permissions


        Requires the `billing.manage` (Manage service billing) permission for
        the selected team. Resources outside that team return 404.
      operationId: client.billing.managed-services.account-credit
      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:
                - pays_from_credit: false
              allOf:
                - $ref: '#/components/schemas/ChangeServiceAccountCreditRequest'
      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: 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
                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:
    ChangeServiceAccountCreditRequest:
      type: object
      examples:
        - pays_from_credit: false
      properties:
        pays_from_credit:
          type: boolean
          description: The value of `pays_from_credit`.
      required:
        - pays_from_credit
      title: ChangeServiceAccountCreditRequest
    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.