Firstmail api docs

Firstmail api docs


API Документация

Доступ к панели с помощью запросов к API


Создать ключ API Ключи


Servershttps://firstmail.ltd/api/v1/ - Продакшн сервер

Authorize


Биллинг

Операции с балансом и транзакциями


GET

/balance

Получение баланса




Возвращает текущий баланс пользователя и информацию о последнем обновлении

Parameters

Cancel

No parameters

Execute

Responses

CodeDescriptionLinks200Успешный ответ

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": {
    "balance": 1250.5,
    "currency": "RUB",
    "last_updated": "2026-01-31T20:56:23.806Z"
  }
}

No links

GET

/transactions

История транзакций




Возвращает список финансовых транзакций с возможностью фильтрации и пагинации

Parameters

Cancel

No parameters

Execute

Responses

CodeDescriptionLinks200Список транзакций

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": [
    {
      "id": "tx-123",
      "amount": 1000,
      "currency": "RUB",
      "transaction_type": "payment",
      "description": "Пополнение баланса",
      "status": "completed",
      "created_at": "2026-01-31T20:56:23.807Z"
    }
  ]
}

No links

Выделенные серверы

Управление выделенными серверами


GET

/servers/dedicated

Список выделенных серверов




Возвращает список выделенных серверов пользователя

Parameters

Cancel

No parameters

Execute

Responses

CodeDescriptionLinks200Список выделенных серверов

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": [
    {
      "id": "ded-123",
      "name": "my-dedicated",
      "status": "running",
      "ip_address": "192.168.1.200",
      "location": "moscow",
      "specs": {
        "cpu": "Intel Xeon E5-2670",
        "ram": "32 GB DDR4",
        "disk": "1TB NVMe SSD",
        "bandwidth": "1Gbps"
      }
    }
  ]
}

No links

POST

/servers/dedicated/order

Заказ выделенного сервера




Создает заказ на новый выделенный сервер

Parameters

Cancel

No parameters

Request body

application/json

  • Edit Value
  • Schema


Execute

Responses

CodeDescriptionLinks201Выделенный сервер заказан успешно

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": {
    "id": "ded-123",
    "name": "my-dedicated",
    "status": "running",
    "ip_address": "192.168.1.200",
    "location": "moscow",
    "specs": {
      "cpu": "Intel Xeon E5-2670",
      "ram": "32 GB DDR4",
      "disk": "1TB NVMe SSD",
      "bandwidth": "1Gbps"
    }
  }
}

No links

Домены

Регистрация доменов, массовые заказы и управление статусом


GET

/domains

Список доменов




Возвращает список доменов пользователя с информацией о статусе и сроках

Parameters

Cancel

No parameters

Execute

Responses

CodeDescriptionLinks200Список доменов

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": [
    {
      "id": "domain-123",
      "name": "example.com",
      "status": "active",
      "expires": "2026-01-31T20:56:23.813Z",
      "auto_renew": true,
      "dns_managed": true
    }
  ]
}

No links

GET

/domains/{domain_id}/status

Статус домена




Получает текущий статус домена и информацию о регистрации

Parameters

Cancel

NameDescriptiondomain_id *

string

(path)

ID домена

Execute

Responses

CodeDescriptionLinks200Статус домена получен успешно

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": {
    "status": "active",
    "expires_at": "2026-01-31T20:56:23.815Z",
    "registrar_lock": false
  }
}

No links

GET

/domains/{domainId}

Детальная информация о домене




Возвращает полную информацию о домене, включая DNS-записи и историю транзакций

Parameters

Cancel

NameDescriptiondomainId *

string

(path)

ID домена

Execute

Responses

CodeDescriptionLinks200Данные о домене

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": {
    "id": "domain-123",
    "name": "example.com",
    "status": "active",
    "expires": "2026-01-31T20:56:23.816Z",
    "auto_renew": true,
    "dns_managed": true
  }
}

No links

POST

/domains/order

Заказ домена




Создает заказ на регистрацию нового домена

Parameters

Cancel

No parameters

Request body

application/json

  • Edit Value
  • Schema


Execute

Responses

CodeDescriptionLinks200Заказ создан успешно

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": {
    "order_id": "string"
  }
}

No links

Почтовые операции

Чтение писем по логину и паролю, получение новых сообщений


POST

/email/messages

Получить сообщения по логину и паролю




Возвращает список писем из почтового ящика по логину и паролю

Parameters

Cancel

No parameters

Request body

application/json

  • Edit Value
  • Schema


Execute

Responses

CodeDescriptionLinks200Список сообщений получен успешно

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": {
    "messages": [
      {
        "id": "msg-123",
        "uid": 1234,
        "subject": "Test message",
        "from": "sender@example.com",
        "to": [
          "string"
        ],
        "cc": [
          "string"
        ],
        "bcc": [
          "string"
        ],
        "date": "2026-01-31T20:56:23.821Z",
        "size": 2048,
        "flags": [
          "string"
        ],
        "is_read": false,
        "is_flagged": false,
        "body_text": "string",
        "body_html": "string",
        "headers": {},
        "attachments": [
          {
            "filename": "string",
            "size": 0,
            "content_type": "string",
            "content_id": "string"
          }
        ]
      }
    ],
    "total_count": 25,
    "unread_count": 5
  }
}

No links401Неверный логин или пароль

Media type

application/json

  • Example Value
  • Schema
{
  "success": false,
  "error": "Error message",
  "details": {}
}

No links

POST

/email/messages/latest

Получить последнее сообщение




Возвращает последнее полученное письмо из почтового ящика

Parameters

Cancel

No parameters

Request body

application/json

  • Edit Value
  • Schema


Execute

Responses

CodeDescriptionLinks200Последнее сообщение получено успешно

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": {
    "id": "msg-123",
    "uid": 1234,
    "subject": "Test message",
    "from": "sender@example.com",
    "to": [
      "string"
    ],
    "cc": [
      "string"
    ],
    "bcc": [
      "string"
    ],
    "date": "2026-01-31T20:56:23.824Z",
    "size": 2048,
    "flags": [
      "string"
    ],
    "is_read": false,
    "is_flagged": false,
    "body_text": "string",
    "body_html": "string",
    "headers": {},
    "attachments": [
      {
        "filename": "string",
        "size": 0,
        "content_type": "string",
        "content_id": "string"
      }
    ]
  }
}

No links404Сообщений не найдено

Media type

application/json

  • Example Value
  • Schema
{
  "success": false,
  "error": "Error message",
  "details": {}
}

No links

POST

/email/messages/unread

Получить новые непрочитанные сообщения




Возвращает только новые непрочитанные письма из почтового ящика

Parameters

Cancel

No parameters

Request body

application/json

  • Edit Value
  • Schema


Execute

Responses

CodeDescriptionLinks200Новые сообщения получены успешно

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": {
    "unread_messages": [
      {
        "id": "msg-123",
        "uid": 1234,
        "subject": "Test message",
        "from": "sender@example.com",
        "to": [
          "string"
        ],
        "cc": [
          "string"
        ],
        "bcc": [
          "string"
        ],
        "date": "2026-01-31T20:56:23.827Z",
        "size": 2048,
        "flags": [
          "string"
        ],
        "is_read": false,
        "is_flagged": false,
        "body_text": "string",
        "body_html": "string",
        "headers": {},
        "attachments": [
          {
            "filename": "string",
            "size": 0,
            "content_type": "string",
            "content_id": "string"
          }
        ]
      }
    ],
    "unread_count": 3,
    "total_messages": 47
  }
}

No links

POST

/email/password/change/

Смена пароля почтового ящика




Изменяет пароль для почтового ящика. Доступно только если не установлена двухфакторная аутентификация (2FA) или резервный email.

Parameters

Cancel

No parameters

Request body

application/json

  • Edit Value
  • Schema


Execute

Responses

CodeDescriptionLinks200Пароль успешно изменен

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "message": "Пароль успешно изменен",
  "data": {
    "email": "user@firstmail.ru",
    "password_changed_at": "2026-01-31T20:56:23.830Z"
  }
}

No links400Ошибка валидации или невозможно изменить пароль

Media type

application/json

Examples

2fa_enabled

backup_email_set

weak_password

  • Example Value
  • Schema
{
  "success": false,
  "error": "Невозможно изменить пароль: установлена двухфакторная аутентификация"
}

No links401Неверный текущий пароль

Media type

application/json

  • Example Value
  • Schema
{
  "success": false,
  "error": "Неверный текущий пароль"
}

No links404Почтовый ящик не найден

Media type

application/json

  • Example Value
  • Schema
{
  "success": false,
  "error": "Почтовый ящик не найден"
}

No links

VPS Серверы

Управление VPS серверами и мониторинг


GET

/servers/vps

Список VPS серверов




Возвращает список VPS серверов пользователя и их текущий статус

Parameters

Cancel

No parameters

Execute

Responses

CodeDescriptionLinks200Список VPS серверов

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": [
    {
      "id": "vps-123",
      "name": "my-vps",
      "status": "running",
      "ip_address": "192.168.1.100",
      "plan": "vps-basic",
      "location": "moscow",
      "specs": {
        "cpu": "2 vCPU",
        "ram": "4 GB",
        "disk": "80 GB SSD"
      }
    }
  ]
}

No links

POST

/servers/vps/order

Заказ VPS сервера




Создает заказ на новый VPS сервер

Parameters

Cancel

No parameters

Request body

application/json

  • Edit Value
  • Schema


Execute

Responses

CodeDescriptionLinks201VPS заказ создан успешно

Media type

application/json

Controls Accept header.

  • Example Value
  • Schema
{
  "success": true,
  "data": {
    "id": "vps-123",
    "name": "my-vps",
    "status": "running",
    "ip_address": "192.168.1.100",
    "plan": "vps-basic",
    "location": "moscow",
    "specs": {
      "cpu": "2 vCPU",
      "ram": "4 GB",
      "disk": "80 GB SSD"
    }
  }
}

No links

Schemas


Error

Balance

Transaction

Domain

DnsRecord

Server

VPSServer

DedicatedServer

ServerStats

EmailBox

EmailOrder

ImapConnection

ImapFolder

EmailMessage

ApiUsage


Report Page