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

# API Introduction

> How to authenticate with the Ascienth console API and make your first request.

<Warning>
  The API is in beta. You may run into unexpected behavior, and endpoints, fields, or responses may change without notice.
</Warning>

## Overview

The Ascienth console API lets you manage your servers, networking, backups, billing, and team from your own scripts and tools. It covers the same actions that are available at [https://vps.advinservers.com](https://vps.advinservers.com).

All endpoints use this base URL:

```
https://console.advinservers.com/api/v1/client
```

Every endpoint is listed in the sidebar, grouped by resource. You can also send test requests from each endpoint page with your own API key.

## Authentication

<Steps>
  <Step title="Create an API key">
    Log into [https://vps.advinservers.com](https://vps.advinservers.com) and open the "API Keys" page. Create a key, select the team it can access, and choose the permissions it needs.
  </Step>

  <Step title="Copy the key">
    Copy the key as soon as it is created. It cannot be shown again. If you lose it, revoke it and create a new one.
  </Step>

  <Step title="Send the key with every request">
    Send the key as a bearer token, and ask for JSON responses:

    ```
    Authorization: Bearer <YOUR_API_KEY>
    Accept: application/json
    ```
  </Step>
</Steps>

<Warning>
  Treat an API key like a password. Anyone who has it can act on your team's resources with the permissions you gave it. Revoking a key takes effect immediately.
</Warning>

## Your First Request

This request lists the servers in the key's team. It needs the `server.read` permission.

```bash theme={null}
curl https://console.advinservers.com/api/v1/client/servers \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Accept: application/json"
```

## Permissions

Give each key only the permissions it needs. Each endpoint page lists the permission it requires. A request made without the required permission is rejected.

## Team Scope

Each key can only access resources in the team selected when the key was created. This includes servers, snapshots, backups, firewall groups, images, SSH keys, scripts, networks, and addresses. Resources in other teams return `404 Not Found`, so create a separate key for each team.

## Restricted Actions

API keys cannot do the following, even with every permission. Log into [https://vps.advinservers.com](https://vps.advinservers.com) in your 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 your 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.

## IP Restrictions

You can restrict a key to one or more IP groups. Requests from any other address are rejected. We recommend this for keys used from servers with a fixed IP address.

## Requests and Responses

* Single records are returned as JSON objects. Collections are returned as JSON arrays unless the endpoint supports pagination.
* Timestamps use ISO 8601 format in UTC.
* Error responses include a `message` field. Validation errors also include an `errors` object with the problem for each field.
* Examples in this reference use fictional data.

## Audit Log

Every API request, including reads, is recorded in your account's audit log along with the key that made it.

<Note>
  Like the rest of our services, the API is unmanaged. We cannot write or debug your integration for you. If an endpoint behaves differently from this reference, please open a ticket at [https://clients.advinservers.com/contact.php](https://clients.advinservers.com/contact.php).
</Note>


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