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

# List marketplace apps

> ### Overview

Lists the apps a new or reinstalled server can be built with. Each app is an operating system with software set up on it. Send its `uuid` as `marketplace_app` instead of `template_uuid` when ordering or reinstalling. A variable with an `input` is a setting you enter: send your value in `app_variables` under the variable's `name`. One that is not `required` can be left out. It then gets its `value`, or a generated username or password, which the app lists in the server's notes when it has installed. `uses_domain` is true for an app that is set up on the server's domain name.

### Permissions

Requires the `server.read` (View servers) permission for the selected team. Resources outside that team return 404.



## OpenAPI

````yaml https://console.advinservers.com/docs/openapi.json get /servers/marketplace-apps
openapi: 3.1.2
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. They cannot be
      deleted, and they are kept when the server is deleted.
  - 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 address lists for the source or destination of 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: Domain name
    description: Give a server its own domain name that points at one of its IP addresses.
  - 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:
  /servers/marketplace-apps:
    get:
      tags:
        - Servers
      summary: List marketplace apps
      description: >-
        ### Overview


        Lists the apps a new or reinstalled server can be built with. Each app
        is an operating system with software set up on it. Send its `uuid` as
        `marketplace_app` instead of `template_uuid` when ordering or
        reinstalling. A variable with an `input` is a setting you enter: send
        your value in `app_variables` under the variable's `name`. One that is
        not `required` can be left out. It then gets its `value`, or a generated
        username or password, which the app lists in the server's notes when it
        has installed. `uses_domain` is true for an app that is set up on the
        server's domain name.


        ### Permissions


        Requires the `server.read` (View servers) permission for the selected
        team. Resources outside that team return 404.
      operationId: marketplaceApp.list
      responses:
        '200':
          description: The whole set, as a JSON array. There is no envelope and no paging.
          content:
            application/json:
              schema:
                type: array
                examples:
                  - - uuid: b71cfb0d-abab-4721-9254-622be47149cb
                      uuid_short: Uuid short
                      name: lambda-core
                      logo_url: https://vps.advinservers.com
                      template_name: Template name
                      description: Description
                      version: Version
                      variables:
                        - name: lambda-core
                          value: Value
                          description: Description
                          input: text
                          label: Label
                          required: true
                      uses_domain: true
                items:
                  $ref: '#/components/schemas/MarketplaceAppData'
        '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
        '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:
    MarketplaceAppData:
      type: object
      description: >-
        An app that can be installed on a new or reinstalled server: an
        operating system with software set up on it.
      examples:
        - uuid: b71cfb0d-abab-4721-9254-622be47149cb
          uuid_short: Uuid short
          name: lambda-core
          logo_url: https://vps.advinservers.com
          template_name: Template name
          description: Description
          version: Version
          variables:
            - name: lambda-core
              value: Value
              description: Description
              input: text
              label: Label
              required: true
          uses_domain: true
      properties:
        uuid:
          type: string
          description: The uuid UUID.
          examples:
            - b71cfb0d-abab-4721-9254-622be47149cb
        uuid_short:
          type: string
          description: The value of `uuid_short`.
          examples:
            - Uuid short
        name:
          type: string
          description: The name shown to customers.
          examples:
            - lambda-core
        logo_url:
          type:
            - string
            - 'null'
          description: The app's logo, or null when it has none.
          examples:
            - https://vps.advinservers.com
        template_name:
          type: string
          description: The template the app is installed on, such as "Ubuntu 24.04".
          examples:
            - Template name
        description:
          type:
            - string
            - 'null'
          description: Markdown written by staff, or null for none.
          examples:
            - Description
        version:
          type:
            - string
            - 'null'
          description: >-
            The version of the software that is installed, such as
            "1.0.20210914".
          examples:
            - Version
        variables:
          type: array
          description: The value of `variables`.
          examples:
            - - name: lambda-core
                value: Value
                description: Description
                input: text
                label: Label
                required: true
          items:
            $ref: '#/components/schemas/MarketplaceAppVariableData'
        uses_domain:
          type: boolean
          description: >-
            Whether the app is reached by a name. The server then answers on its
            `vps-<id>` domain, and an order for one server may send
            `custom_domain`, a domain already pointed at that name with a CNAME
            record.
          examples:
            - true
      required:
        - uuid
        - uuid_short
        - name
        - logo_url
        - template_name
        - description
        - version
        - variables
        - uses_domain
      title: MarketplaceAppData
    MarketplaceAppVariableData:
      type: object
      description: >-
        One setting written into an app's script. Staff set its value, or with
        an `input` the customer enters it when ordering or reinstalling, in
        `app_variables` under this variable's `name`.
      examples:
        - name: lambda-core
          value: Value
          description: Description
          input: text
          label: Label
          required: true
      properties:
        name:
          type: string
          description: The name shown to customers.
          examples:
            - lambda-core
        value:
          type:
            - string
            - 'null'
          description: >-
            The value staff set, or what the field starts with when the customer
            is asked for it.
          examples:
            - Value
        description:
          type:
            - string
            - 'null'
          description: An optional description shown to customers.
          examples:
            - Description
        input:
          type:
            - string
            - 'null'
          description: >-
            The kind of field the customer fills in, or null when staff set the
            value.
          enum:
            - text
            - username
            - email
            - password
            - null
          examples:
            - text
        label:
          type:
            - string
            - 'null'
          description: The field's name on the order page. Null shows `name`.
          examples:
            - Label
        required:
          type: boolean
          description: >-
            Whether the customer must answer. Only read when `input` is set. A
            blank answer gets `value`, or a generated username or password,
            which the app then lists in the server's notes.
          examples:
            - true
      required:
        - name
        - value
        - description
        - input
        - label
        - required
      title: MarketplaceAppVariableData
  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.