مستنداتPaasta Docsورود به کنسول
Paasta Public API

زیرساخت پاستا را با کد مدیریت کنید.

مرجع رسمی endpointهای عمومی، Scopeها، ورودی‌ها، پاسخ‌ها و نمونه‌های آماده برای پروژه، استقرار، دیتابیس، دیسک، بکاپ و Agentها.

api.paasta
GET /api/projects
Authorization: Bearer paasta_…

200 OK
{
  "projects": [
    { "name": "my-app", "status": "ready" }
  ]
}
01

Token بسازید

در کنسول، API Token را با حداقل Scope لازم بسازید. مقدار Token فقط یک‌بار نمایش داده می‌شود.

مدیریت API Token ←
02

Bearer بفرستید

Token را در Header استاندارد Authorization بفرستید. Token داخل Query string یا بدنه پذیرفته نمی‌شود.

Authorization: Bearer paasta_…
03

خطا را قابل بازیابی کنید

برای 429 مقدار Retry-After را رعایت کنید. عملیات ساخت را با شناسه پاسخ دنبال و از تکرار کور درخواست خودداری کنید.

Content-Type: application/json
Base URLhttps://console.paasta.cloud
فرمت زمانISO 8601 با timezone صریح
شناسه‌هاUUID یا شناسه Build برگشتی API
رمزهافقط در پاسخ اولیه و سپس مخفی
API Reference

همه قابلیت‌های عمومی، در یک مرجع قابل جست‌وجو

Endpointهای داخلی کنسول، Webhookهای سرویس‌های ثالث و APIهای مدیریتی عمداً در مرجع عمومی منتشر نشده‌اند. فهرست زیر تمام قراردادهای پشتیبانی‌شده برای API Token کاربران را پوشش می‌دهد.

GET/api/cli/contextزمینه حسابprojects:read
حساب و ابزارها

زمینه حساب

فضای کاری فعال، موجودی، ناحیه‌ها و پلن‌های قابل استفاده را برای CLI برمی‌گرداند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/cli/context' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "tenant": {
    "id": "uuid",
    "name": "Acme"
  },
  "balanceToman": 250000,
  "clusters": [],
  "plans": []
}
POST/api/billing/zibal/requestساخت درخواست افزایش اعتبارbilling:write
حساب و ابزارها

ساخت درخواست افزایش اعتبار

یک پرداخت امن برای افزایش اعتبار فضای کاری می‌سازد و URL درگاه را برمی‌گرداند.

Scope
billing:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/billing/zibal/request' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"amount":100000,"returnPath":"/billing"}'
Response
{
  "url": "https://gateway.example/start/…"
}
GET/api/projectsفهرست پروژه‌هاprojects:read
پروژه‌ها

فهرست پروژه‌ها

پروژه‌های قابل دسترس کاربر را همراه وضعیت، دامنه و آخرین استقرار برمی‌گرداند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "projects": [
    {
      "name": "my-app",
      "status": "ready",
      "domain": "my-app.ir1.paasta.app"
    }
  ]
}
POST/api/projects/inspectبررسی منبع پروژهdeployments:write
پروژه‌ها

بررسی منبع پروژه

ZIP، Git، Docker Image، Compose یا قالب آماده را بدون ساخت منبع تحلیل می‌کند.

Scope
deployments:write
Content-Type
multipart/form-data
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/inspect' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --form 'name=my-app' \
  --form 'clusterId=CLUSTER_ID' \
  --form 'archive=@project.zip'
Response
{
  "project": "my-app",
  "stack": "nextjs",
  "port": 3000,
  "domain": "my-app.ir1.paasta.app",
  "files": 84
}
GET/api/projects/{name}/configurationConfigMap و Secretهاenvironment:write
پروژه‌ها

ConfigMap و Secretها

پیکربندی‌های Kubernetes متعلق به پروژه را با مقدارهای Secret مخفی‌شده فهرست می‌کند.

Scope
environment:write
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/configuration' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "items": [
    {
      "kind": "configmap",
      "name": "app-config"
    }
  ]
}
POST/api/projects/{name}/configurationساخت پیکربندیenvironment:write
پروژه‌ها

ساخت پیکربندی

یک ConfigMap یا Secret جدید برای پروژه می‌سازد.

Scope
environment:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/my-app/configuration' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"kind":"configmap","name":"app-config","data":{"APP_MODE":"production"}}'
Response
{
  "ok": true
}
PUT/api/projects/{name}/configurationویرایش پیکربندیenvironment:write
پروژه‌ها

ویرایش پیکربندی

داده‌های ConfigMap یا Secret موجود را جایگزین می‌کند.

Scope
environment:write
Content-Type
application/json
cURL
curl --request PUT 'https://console.paasta.cloud/api/projects/my-app/configuration' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"kind":"secret","name":"app-secrets","data":{"API_KEY":"value"}}'
Response
{
  "ok": true
}
GET/api/projects/{name}/environmentمتغیرهای محیطیenvironment:write
پروژه‌ها

متغیرهای محیطی

نام متغیرهای محیطی پروژه را برمی‌گرداند؛ مقدار Secret در پاسخ افشا نمی‌شود.

Scope
environment:write
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/environment' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "values": {
    "NODE_ENV": "production",
    "API_KEY": "••••••••"
  }
}
PUT/api/projects/{name}/environmentثبت متغیرهای محیطیenvironment:write
پروژه‌ها

ثبت متغیرهای محیطی

مجموعه کامل متغیرهای محیطی پروژه را ثبت و نسخه اجرا را به‌روزرسانی می‌کند.

Scope
environment:write
Content-Type
application/json
cURL
curl --request PUT 'https://console.paasta.cloud/api/projects/my-app/environment' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"NODE_ENV":"production","API_KEY":"secret"}'
Response
{
  "ok": true
}
GET/api/projects/{name}/domainsدامنه‌های پروژهprojects:read
پروژه‌ها

دامنه‌های پروژه

دامنه پیش‌فرض و دامنه‌های شخصی پروژه را همراه وضعیت DNS و TLS برمی‌گرداند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/domains' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "domains": [
    {
      "hostname": "app.example.com",
      "status": "ready",
      "tlsStatus": "ready"
    }
  ]
}
POST/api/projects/{name}/domainsاتصال دامنهenvironment:write
پروژه‌ها

اتصال دامنه

دامنه شخصی را مستقیم یا از دامنه CDN همان فضای کاری به پروژه متصل می‌کند.

Scope
environment:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/my-app/domains' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"hostname":"app.example.com","cdnSiteId":"optional-site-id"}'
Response
{
  "ok": true,
  "id": "uuid",
  "hostname": "app.example.com"
}
PUT/api/projects/{name}/domainsبررسی دامنهenvironment:write
پروژه‌ها

بررسی دامنه

DNS و وضعیت صدور TLS یک اتصال دامنه را دوباره بررسی می‌کند.

Scope
environment:write
Content-Type
application/json
cURL
curl --request PUT 'https://console.paasta.cloud/api/projects/my-app/domains' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"id":"domain-id"}'
Response
{
  "ok": true,
  "status": "ready"
}
DELETE/api/projects/{name}/domainsحذف دامنهenvironment:write
پروژه‌ها

حذف دامنه

اتصال دامنه شخصی را از پروژه حذف می‌کند؛ دامنه پیش‌فرض پروژه حذف نمی‌شود.

Scope
environment:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/projects/my-app/domains' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"id":"domain-id"}'
Response
{
  "ok": true
}
DELETE/api/projects/{name}حذف پروژهprojects:delete
پروژه‌ها

حذف پروژه

پروژه و منابع متصل آن را حذف می‌کند و اعتبار استفاده‌نشده منابع ماهانه را طبق سیاست بازپرداخت برمی‌گرداند.

Scope
projects:delete
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/projects/my-app' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "refundToman": 42000
}
GET/api/integrations/git/connectionsاتصال‌های Gitgit:read
Git و استقرار خودکار

اتصال‌های Git

اتصال‌های GitHub و GitLab متعلق به کاربر و فضای کاری فعال را بدون Token یا Scopeهای ارائه‌دهنده برمی‌گرداند.

Scope
git:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/integrations/git/connections' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "connections": [
    {
      "id": "uuid",
      "provider": "github",
      "username": "acme",
      "createdAt": "2026-08-08T00:00:00Z"
    }
  ]
}
GET/api/integrations/git/repositoriesمخزن‌ها و Branchهاgit:read
Git و استقرار خودکار

مخزن‌ها و Branchها

با یکی از اتصال‌های متعلق به همان کاربر، مخزن‌های قابل دسترس یا Branchهای یک مخزن را می‌خواند.

Scope
git:read
Content-Type
application/json

پارامترهای Query

  • connectionId: شناسه اتصال Git
  • repository: URL مخزن برای دریافت Branchها
cURL
curl --request GET 'https://console.paasta.cloud/api/integrations/git/repositories' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "repositories": [
    {
      "name": "acme/app",
      "url": "https://github.com/acme/app",
      "private": true,
      "defaultBranch": "main"
    }
  ]
}
GET/api/projects/{name}/gitوضعیت Git پروژهgit:read
Git و استقرار خودکار

وضعیت Git پروژه

مخزن، Branch، ریشه پروژه و وضعیت Webhook و استقرار خودکار پروژه را بدون نمایش هیچ Secret برمی‌گرداند.

Scope
git:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/git' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "project": "my-app",
  "repository": "https://github.com/acme/app",
  "ref": "main",
  "root": "",
  "autoDeploy": true,
  "webhookConfigured": true,
  "managedWebhook": true,
  "connectedAccount": true
}
GET/api/teamاعضا و دعوت‌های تیمteam:read
تیم و دسترسی

اعضا و دعوت‌های تیم

اعضا، نقش‌ها، دسترسی پروژه‌ها، دعوت‌های معتبر و پروژه‌های فضای کاری فعال را فقط برای owner یا admin برمی‌گرداند.

Scope
team:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/team' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "members": [
    {
      "id": "uuid",
      "name": "Sara",
      "email": "sara@example.com",
      "role": "developer",
      "project_ids": []
    }
  ],
  "invitations": [],
  "projects": []
}
POST/api/teamدعوت عضو تیمteam:write
تیم و دسترسی

دعوت عضو تیم

لینک دعوت هفت‌روزه برای یک نقش مجاز و پروژه‌های همان فضای کاری می‌سازد.

Scope
team:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/team' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"email":"member@example.com","role":"developer","projectIds":["project-uuid"]}'
Response
{
  "id": "uuid",
  "email": "member@example.com",
  "role": "developer",
  "inviteUrl": "https://console.paasta.cloud/invite?token=…"
}
PATCH/api/teamویرایش عضو تیمteam:write
تیم و دسترسی

ویرایش عضو تیم

نقش و پروژه‌های قابل دسترسی یک عضو را در همان فضای کاری تغییر می‌دهد.

Scope
team:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/team' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"userId":"user-uuid","role":"viewer","projectIds":["project-uuid"]}'
Response
{
  "userId": "user-uuid",
  "role": "viewer",
  "project_ids": [
    "project-uuid"
  ]
}
DELETE/api/teamحذف عضو یا لغو دعوتteam:write
تیم و دسترسی

حذف عضو یا لغو دعوت

با userId عضو را حذف یا با invitationId دعوت در انتظار را لغو می‌کند.

Scope
team:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/team' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"userId":"user-uuid"}'
Response
{
  "deleted": "user-uuid"
}
GET/api/domain-registration/domainsدامنه‌های ثبت‌شدهdomains:read
ثبت و مالکیت دامنه

دامنه‌های ثبت‌شده

دامنه‌های متعلق به فضای کاری را همراه وضعیت، انقضا، Nameserver و آخرین سفارش برمی‌گرداند.

Scope
domains:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/domain-registration/domains' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "domains": [
    {
      "id": "uuid",
      "fqdn": "example.com",
      "status": "active",
      "expires_at": "2027-08-08T00:00:00Z",
      "auto_renew": true
    }
  ]
}
GET/api/domain-registration/domains/{id}جزئیات دامنهdomains:read
ثبت و مالکیت دامنه

جزئیات دامنه

جزئیات tenant-scoped دامنه و بیست سفارش اخیر آن را بدون اطلاعات تماس یا Secret نمایش می‌دهد.

Scope
domains:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/domain-registration/domains/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "domain": {
    "id": "uuid",
    "fqdn": "example.com",
    "status": "active"
  },
  "orders": []
}
GET/api/domain-registration/searchاستعلام دامنه و قیمتdomains:read
ثبت و مالکیت دامنه

استعلام دامنه و قیمت

قیمت قطعی ثبت، انتقال، تمدید یا بازیابی را برای دوره انتخابی اعلام می‌کند.

Scope
domains:read
Content-Type
application/json

پارامترهای Query

  • domain: نام دامنه برای ثبت یا انتقال
  • domainId: شناسه دامنه برای تمدید یا بازیابی
  • operation: register، transfer، renew یا restore
  • years: دوره یک تا ده سال
  • privacy: فعال‌سازی WHOIS privacy
cURL
curl --request GET 'https://console.paasta.cloud/api/domain-registration/search' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "domain": "example.com",
  "operation": "register",
  "years": 1,
  "available": true,
  "priceToman": 250000,
  "prices": {
    "1": 250000
  }
}
POST/api/domain-registration/ordersثبت سفارش دامنهdomains:write
ثبت و مالکیت دامنه

ثبت سفارش دامنه

سفارش ثبت، انتقال، تمدید یا بازیابی را با قیمت لحظه‌ای و کلید idempotency رزرو و اجرا می‌کند.

Scope
domains:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/domain-registration/orders' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"operation":"register","domain":"example.com","years":1,"privacy":false,"idempotencyKey":"uuid"}'
Response
{
  "ok": true,
  "orderId": "uuid",
  "domainId": "uuid",
  "status": "completed"
}
PATCH/api/domain-registration/domains/{id}مدیریت دامنهdomains:write
ثبت و مالکیت دامنه

مدیریت دامنه

تمدید خودکار، Nameserver، قفل انتقال، دریافت کد انتقال یا پیگیری سفارش انتقال را تغییر می‌دهد.

Scope
domains:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/domain-registration/domains/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"action":"nameservers","nameservers":["ns1.example.com","ns2.example.com"]}'
Response
{
  "ok": true,
  "nameservers": [
    "ns1.example.com",
    "ns2.example.com"
  ]
}
POST/api/projects/source-uploadشروع آپلود چندبخشیdeployments:write
استقرار و نسخه‌ها

شروع آپلود چندبخشی

برای منبع ZIP یک نشست آپلود می‌سازد و اندازه هر بخش را اعلام می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/source-upload' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"name":"project.zip","size":10485760}'
Response
{
  "id": "upload-id",
  "chunkSize": 4194304,
  "maxSize": 26214400
}
PUT/api/projects/source-upload/{id}ارسال بخش فایلdeployments:write
استقرار و نسخه‌ها

ارسال بخش فایل

یک بخش باینری از ZIP را آپلود می‌کند.

Scope
deployments:write
Content-Type
application/octet-stream

پارامترهای Query

  • part: شماره بخش از صفر
cURL
curl --request PUT 'https://console.paasta.cloud/api/projects/source-upload/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/octet-stream' \ \
  --data-binary '@file.bin'
Response
{
  "uploaded": true,
  "part": 0,
  "size": 4194304
}
POST/api/projects/source-upload/{id}تکمیل آپلودdeployments:write
استقرار و نسخه‌ها

تکمیل آپلود

بخش‌های آپلودشده را اعتبارسنجی و به یک منبع قابل بررسی تبدیل می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/source-upload/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"name":"project.zip","size":10485760,"parts":3}'
Response
{
  "sourceKey": "source-key",
  "size": 10485760,
  "name": "project.zip"
}
POST/api/projects/deployایجاد استقرارdeployments:write
استقرار و نسخه‌ها

ایجاد استقرار

منبع بررسی‌شده را Build و منابع پروژه، دیسک‌ها و دیتابیس‌های درخواست‌شده را رزرو می‌کند.

Scope
deployments:write
Content-Type
multipart/form-data
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/deploy' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --form 'name=my-app' \
  --form 'clusterId=CLUSTER_ID' \
  --form 'servicePlanId=PLAN_ID' \
  --form 'billingMode=payg' \
  --form 'sourceKey=SOURCE_KEY'
Response
{
  "ok": true,
  "buildId": "build-my-app-abc123",
  "project": "my-app"
}
GET/api/projects/deploy/{id}وضعیت استقرارprojects:read
استقرار و نسخه‌ها

وضعیت استقرار

مرحله Build، بررسی امنیتی، انتشار و خطای آخر یک استقرار را برمی‌گرداند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/deploy/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "id": "build-my-app-abc123",
  "status": "ready",
  "project": "my-app",
  "image": "registry/my-app:tag"
}
DELETE/api/projects/deploy/{id}لغو استقرارdeployments:write
استقرار و نسخه‌ها

لغو استقرار

Build یا انتشار در حال اجرا را لغو می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/projects/deploy/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
GET/api/projects/{name}/deploymentsتاریخچه استقرارprojects:read
استقرار و نسخه‌ها

تاریخچه استقرار

سی نسخه اخیر پروژه و وضعیت فعال‌بودن آن‌ها در Production را برمی‌گرداند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/deployments' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "deployments": [
    {
      "id": "build-my-app-abc123",
      "status": "ready",
      "active": true
    }
  ]
}
GET/api/projects/deploy/{id}/logsلاگ استقرارlogs:read
استقرار و نسخه‌ها

لاگ استقرار

لاگ دریافت منبع، BuildKit، بررسی امنیتی و انتشار را به‌صورت متن برمی‌گرداند.

Scope
logs:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/deploy/RESOURCE_ID/logs' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "status": "building",
  "logs": "#1 load build definition…"
}
POST/api/projects/deploy/{id}/retryتلاش مجددdeployments:write
استقرار و نسخه‌ها

تلاش مجدد

یک استقرار ناموفق را با همان ورودی معتبر دوباره اجرا می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/deploy/RESOURCE_ID/retry' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "id": "build-my-app-new123",
  "project": "my-app",
  "status": "queued",
  "retryStage": "build"
}
POST/api/projects/{name}/rollbackRollback نسخهdeployments:write
استقرار و نسخه‌ها

Rollback نسخه

Image یک استقرار موفق قبلی را بدون Build دوباره منتشر می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/my-app/rollback' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"buildId":"build-my-app-abc123"}'
Response
{
  "ok": true
}
GET/api/projects/{name}/previewsمحیط‌های Previewprojects:read
استقرار و نسخه‌ها

محیط‌های Preview

محیط‌های موقت پروژه و زمان انقضای آن‌ها را فهرست می‌کند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/previews' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "previews": [
    {
      "id": "uuid",
      "slug": "staging",
      "status": "ready",
      "expiresAt": "2026-08-02T12:00:00Z"
    }
  ]
}
POST/api/projects/{name}/previewsساخت Previewdeployments:write
استقرار و نسخه‌ها

ساخت Preview

از یک Build موفق محیط موقت با دامنه مستقل می‌سازد.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/my-app/previews' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"slug":"staging","buildId":"build-id","lifetimeHours":24}'
Response
{
  "ok": true,
  "id": "uuid",
  "domain": "staging-my-app.ir1.paasta.app"
}
DELETE/api/projects/{name}/previews/{id}حذف Previewdeployments:write
استقرار و نسخه‌ها

حذف Preview

محیط موقت و منابع اختصاصی آن را حذف می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/projects/my-app/previews/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
POST/api/projects/{name}/previews/{id}/promoteانتقال Preview به Productiondeployments:write
استقرار و نسخه‌ها

انتقال Preview به Production

نسخه تأییدشده محیط Preview را به Production ارتقا می‌دهد.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/my-app/previews/RESOURCE_ID/promote' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
GET/api/projects/{name}/logsلاگ اجرای پروژهlogs:read
اجرا و عملیات

لاگ اجرای پروژه

لاگ کانتینر انتخابی را برمی‌گرداند یا Podها و کانتینرهای قابل انتخاب را فهرست می‌کند.

Scope
logs:read
Content-Type
application/json

پارامترهای Query

  • list=1: فهرست Podها
  • pod: نام Pod
  • container: نام کانتینر
  • tail: یکی از 100، 300، 1000 یا 3000
  • since: بازه برحسب ثانیه
  • previous=1: کانتینر قبلی
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/logs' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "pod": "my-app-abc",
  "container": "app",
  "logs": "Server listening on 3000"
}
POST/api/projects/{name}/restartراه‌اندازی مجددdeployments:write
اجرا و عملیات

راه‌اندازی مجدد

تمام نمونه‌های اجرای پروژه را به‌صورت Rolling restart راه‌اندازی می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/my-app/restart' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
PUT/api/projects/{name}/scaleتغییر تعداد نمونهdeployments:write
اجرا و عملیات

تغییر تعداد نمونه

تعداد Replicaهای پروژه را تغییر می‌دهد.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request PUT 'https://console.paasta.cloud/api/projects/my-app/scale' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"replicas":2}'
Response
{
  "ok": true,
  "replicas": 2
}
PUT/api/projects/{name}/planتغییر پلنdeployments:write
اجرا و عملیات

تغییر پلن

پلن منابع پروژه را تغییر می‌دهد و اختلاف دوره ماهانه را محاسبه می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request PUT 'https://console.paasta.cloud/api/projects/my-app/plan' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"servicePlanId":"plan-id"}'
Response
{
  "ok": true,
  "chargedToman": 250000
}
GET/api/projects/{name}/resourcesمنابع و وضعیت اجراprojects:read
اجرا و عملیات

منابع و وضعیت اجرا

پلن، Replica، مصرف و وضعیت Containerهای پروژه را برمی‌گرداند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/resources' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "status": "ready",
  "replicas": {
    "ready": 2,
    "desired": 2
  },
  "containers": []
}
PUT/api/projects/{name}/resourcesهمگام‌سازی منابعprojects:read
اجرا و عملیات

همگام‌سازی منابع

منابع تعریف‌شده پروژه را دوباره روی کلاستر اعمال می‌کند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request PUT 'https://console.paasta.cloud/api/projects/my-app/resources' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
GET/api/projects/{name}/monitorوضعیت Uptime Checkprojects:read
اجرا و عملیات

وضعیت Uptime Check

تنظیمات، آخرین نتیجه، دسترس‌پذیری ۲۴ ساعت و ۲۰ بررسی اخیر پروژه را برمی‌گرداند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/monitor' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "enabled": true,
  "path": "/health",
  "failureThreshold": 3,
  "consecutiveFailures": 0,
  "lastStatus": 200,
  "lastLatencyMs": 82,
  "availability24h": 99.95,
  "checks": []
}
PATCH/api/projects/{name}/monitorتنظیم Uptime Checkdeployments:write
اجرا و عملیات

تنظیم Uptime Check

بررسی دوره‌ای HTTPS و آستانه خطای متوالی را تنظیم می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/projects/my-app/monitor' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"enabled":true,"path":"/health","failureThreshold":3}'
Response
{
  "ok": true,
  "enabled": true,
  "path": "/health",
  "failureThreshold": 3
}
GET/api/projects/{name}/availabilityوضعیت دسترس‌پذیریprojects:read
اجرا و عملیات

وضعیت دسترس‌پذیری

تنظیمات فعلی Autoscaling و HA، محدودیت دیسک و قیمت پلن را برمی‌گرداند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/availability' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "autoscaling": false,
  "highAvailability": false,
  "minReplicas": 1,
  "maxReplicas": 3,
  "cpuTarget": 70,
  "desiredReplicas": 1,
  "billingMode": "payg"
}
PUT/api/projects/{name}/availabilityHigh Availability و Autoscalingdeployments:write
اجرا و عملیات

High Availability و Autoscaling

مقیاس خودکار CPU، بازه نمونه‌ها و پخش نمونه‌ها میان سرورها را تنظیم می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request PUT 'https://console.paasta.cloud/api/projects/my-app/availability' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"autoscaling":true,"highAvailability":true,"minReplicas":2,"maxReplicas":3,"cpuTarget":70}'
Response
{
  "ok": true,
  "desiredReplicas": 2,
  "chargedToman": 0
}
GET/api/projects/{name}/resource-alertsقواعد هشدار منابعprojects:read
اجرا و عملیات

قواعد هشدار منابع

قواعد هشدار CPU و حافظه پروژه را بدون افشای اطلاعات کلاستر فهرست می‌کند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/resource-alerts' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "rules": [
    {
      "id": "uuid",
      "service_name": "app",
      "metric": "cpu",
      "threshold_percent": 80,
      "duration_minutes": 10,
      "severity": "warning",
      "enabled": true
    }
  ]
}
POST/api/projects/{name}/resource-alertsثبت هشدار منابعdeployments:write
اجرا و عملیات

ثبت هشدار منابع

آستانه CPU یا حافظه یک سرویس را ایجاد یا به‌روزرسانی می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/my-app/resource-alerts' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"serviceName":"app","metric":"cpu","thresholdPercent":80,"durationMinutes":10,"severity":"warning"}'
Response
{
  "id": "uuid",
  "service_name": "app",
  "metric": "cpu",
  "threshold_percent": 80,
  "duration_minutes": 10,
  "severity": "warning",
  "enabled": true
}
DELETE/api/projects/{name}/resource-alertsحذف هشدار منابعdeployments:write
اجرا و عملیات

حذف هشدار منابع

قاعده هشدار انتخابی را حذف و هشدار فعال وابسته را رفع‌شده ثبت می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/projects/my-app/resource-alerts' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"id":"uuid"}'
Response
{
  "ok": true
}
POST/api/projects/{name}/gitتنظیم استقرار خودکارgit:write
Git و استقرار خودکار

تنظیم استقرار خودکار

استقرار خودکار Pushهای Branch انتخاب‌شده را فعال یا غیرفعال و در صورت درخواست Webhook را بازتولید می‌کند.

Scope
git:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/my-app/git' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"action":"toggle","enabled":true}'
Response
{
  "enabled": true,
  "managed": true
}
GET/api/projects/{name}/processesفهرست فرایندهاprojects:read
اجرا و عملیات

فهرست فرایندها

Worker، Cron و Jobهای پروژه را همراه وضعیت، پلن و هزینه فهرست می‌کند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/processes' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "processes": [
    {
      "id": "uuid",
      "name": "queue",
      "type": "worker",
      "status": "active",
      "billing_mode": "payg"
    }
  ]
}
POST/api/projects/{name}/processesساخت Worker، Cron یا Jobdeployments:write
اجرا و عملیات

ساخت Worker، Cron یا Job

یک فرایند مستقل با پلن، لاگ و چرخه پرداخت جدا زیر پروژه می‌سازد.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/my-app/processes' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"type":"worker","name":"queue","command":"npm run worker","planId":"plan-id","billingMode":"payg","replicas":1}'
Response
{
  "ok": true,
  "id": "uuid",
  "chargedToman": 0
}
PUT/api/projects/{name}/processes/{id}ویرایش فرایندdeployments:write
اجرا و عملیات

ویرایش فرایند

وضعیت، دستور اجرا یا زمان‌بندی Cron را تغییر می‌دهد.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request PUT 'https://console.paasta.cloud/api/projects/my-app/processes/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"status":"active","command":"npm run worker","schedule":"*/10 * * * *"}'
Response
{
  "ok": true
}
DELETE/api/projects/{name}/processes/{id}حذف فرایندdeployments:write
اجرا و عملیات

حذف فرایند

Worker، Cron یا Job را حذف می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/projects/my-app/processes/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
POST/api/projects/{name}/processes/{id}/runاجرای دستی Jobdeployments:write
اجرا و عملیات

اجرای دستی Job

یک اجرای جدید برای Job ایجاد می‌کند.

Scope
deployments:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/projects/my-app/processes/RESOURCE_ID/run' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "executionId": "uuid"
}
GET/api/projects/{name}/processes/{id}/logsلاگ فرایندlogs:read
اجرا و عملیات

لاگ فرایند

آخرین لاگ Worker، Cron یا Job را برمی‌گرداند.

Scope
logs:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/projects/my-app/processes/RESOURCE_ID/logs' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "logs": "Job completed",
  "phase": "Succeeded"
}
GET/api/volumesفهرست دیسک‌هاvolumes:write
دیسک، فایل و بکاپ

فهرست دیسک‌ها

دیسک‌های فضای کاری و کلاس‌های ذخیره‌سازی قابل سفارش را برمی‌گرداند.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/volumes' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "offerings": [],
  "volumes": []
}
POST/api/volumesساخت دیسکvolumes:write
دیسک، فایل و بکاپ

ساخت دیسک

یک PVC مدیریت‌شده می‌سازد و آن را در مسیر مشخص به پروژه متصل می‌کند.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/volumes' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"project":"my-app","name":"data","mount_path":"/app/data","size_gb":10,"offering_id":"offering-id","billing_mode":"payg"}'
Response
{
  "ok": true,
  "id": "uuid",
  "chargedToman": 0
}
PATCH/api/volumes/{id}افزایش حجم دیسکvolumes:write
دیسک، فایل و بکاپ

افزایش حجم دیسک

در صورت پشتیبانی StorageClass، حجم دیسک را بدون حذف داده افزایش می‌دهد.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/volumes/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"size_gb":20}'
Response
{
  "ok": true,
  "sizeGb": 20
}
DELETE/api/volumes/{id}حذف دیسکvolumes:write
دیسک، فایل و بکاپ

حذف دیسک

دیسک و داده آن را حذف می‌کند.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/volumes/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
GET/api/volumes/{id}/filesفهرست یا دانلود فایلprojects:read
دیسک، فایل و بکاپ

فهرست یا دانلود فایل

محتوای یک مسیر را فهرست می‌کند یا فایل را به‌صورت stream دانلود می‌کند.

Scope
projects:read
Content-Type
application/json

پارامترهای Query

  • path: مسیر داخل دیسک
  • download=1: دانلود فایل
cURL
curl --request GET 'https://console.paasta.cloud/api/volumes/RESOURCE_ID/files' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "path": "/",
  "entries": [
    {
      "name": "uploads",
      "type": "directory",
      "size": 0
    }
  ]
}
POST/api/volumes/{id}/filesعملیات فایلvolumes:write
دیسک، فایل و بکاپ

عملیات فایل

پوشه یا فایل متنی می‌سازد، تغییر نام می‌دهد یا جابه‌جا می‌کند.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/volumes/RESOURCE_ID/files' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"action":"mkdir","path":"/uploads"}'
Response
{
  "ok": true
}
PUT/api/volumes/{id}/filesآپلود یا ذخیره فایلvolumes:write
دیسک، فایل و بکاپ

آپلود یا ذخیره فایل

بدنه درخواست را در مسیر تعیین‌شده ذخیره می‌کند.

Scope
volumes:write
Content-Type
application/octet-stream

پارامترهای Query

  • path: مسیر مقصد
  • upload=1: آپلود باینری
  • overwrite=1: جایگزینی فایل
cURL
curl --request PUT 'https://console.paasta.cloud/api/volumes/RESOURCE_ID/files' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/octet-stream' \ \
  --data-binary '@file.bin'
Response
{
  "ok": true
}
DELETE/api/volumes/{id}/filesحذف فایلvolumes:write
دیسک، فایل و بکاپ

حذف فایل

فایل یا پوشه خالی را از دیسک حذف می‌کند.

Scope
volumes:write
Content-Type
application/json

پارامترهای Query

  • path: مسیر هدف
cURL
curl --request DELETE 'https://console.paasta.cloud/api/volumes/RESOURCE_ID/files' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
POST/api/volumes/{id}/snapshotsساخت Snapshotvolumes:write
دیسک، فایل و بکاپ

ساخت Snapshot

اگر CSI کلاستر پشتیبانی کند، Snapshot سازگار با دیسک می‌سازد.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/volumes/RESOURCE_ID/snapshots' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "id": "snapshot-id",
  "status": "creating"
}
DELETE/api/snapshots/{id}حذف Snapshotvolumes:write
دیسک، فایل و بکاپ

حذف Snapshot

Snapshot انتخابی را حذف می‌کند.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/snapshots/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
POST/api/snapshots/{id}/restoreبازیابی Snapshotvolumes:write
دیسک، فایل و بکاپ

بازیابی Snapshot

دیسک تازه‌ای از Snapshot می‌سازد و به پروژه متصل می‌کند.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/snapshots/RESOURCE_ID/restore' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "volumeId": "uuid"
}
POST/api/volumes/{id}/backupsتهیه بکاپ دیسکvolumes:write
دیسک، فایل و بکاپ

تهیه بکاپ دیسک

یک بکاپ مستقل در Object Storage پاستا ایجاد می‌کند.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/volumes/RESOURCE_ID/backups' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "id": "backup-id",
  "status": "queued"
}
GET/api/backupsفهرست بکاپ‌ها و Snapshotهاvolumes:write
دیسک، فایل و بکاپ

فهرست بکاپ‌ها و Snapshotها

بکاپ‌های دیسک، دیتابیس و Snapshotهای قابل دسترسی را یکجا برمی‌گرداند.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/backups' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "backups": [
    {
      "kind": "volume",
      "id": "uuid",
      "source_volume_name": "uploads",
      "status": "ready"
    }
  ]
}
GET/api/backups/{id}دانلود بکاپvolumes:write
دیسک، فایل و بکاپ

دانلود بکاپ

فایل بکاپ آماده را با URL امضاشده برمی‌گرداند.

Scope
volumes:write
Content-Type
application/json

پارامترهای Query

  • kind=database: برای بکاپ دیتابیس
cURL
curl --request GET 'https://console.paasta.cloud/api/backups/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "url": "https://…",
  "expiresIn": 900
}
DELETE/api/backups/{id}حذف بکاپvolumes:write
دیسک، فایل و بکاپ

حذف بکاپ

نسخه بکاپ مستقل را از فضای ذخیره‌سازی حذف می‌کند.

Scope
volumes:write
Content-Type
application/json

پارامترهای Query

  • kind=database: برای بکاپ دیتابیس
cURL
curl --request DELETE 'https://console.paasta.cloud/api/backups/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
POST/api/backups/{id}/restoreبازیابی بکاپ دیسکvolumes:write
دیسک، فایل و بکاپ

بازیابی بکاپ دیسک

آخرین محتوای بکاپ را به دیسک منبع بازیابی می‌کند.

Scope
volumes:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/backups/RESOURCE_ID/restore' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "status": "queued"
}
GET/api/databasesفهرست دیتابیس‌هاdatabases:write
دیتابیس مدیریت‌شده

فهرست دیتابیس‌ها

دیتابیس‌های فضای کاری، پلن‌ها و کلاس‌های دیسک سازگار را برمی‌گرداند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/databases' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "plans": [],
  "storage": [],
  "databases": []
}
POST/api/databasesساخت دیتابیسdatabases:write
دیتابیس مدیریت‌شده

ساخت دیتابیس

PostgreSQL، MySQL، MongoDB یا Redis مدیریت‌شده را می‌سازد و به شبکه خصوصی پروژه متصل می‌کند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/databases' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"project":"my-app","name":"app-db","plan_id":"plan-id","storage_offering_id":"offering-id","size_gb":10,"billing_mode":"monthly"}'
Response
{
  "ok": true,
  "id": "uuid",
  "chargedToman": 470000
}
GET/api/databases/{id}مشخصات اتصال دیتابیسdatabases:write
دیتابیس مدیریت‌شده

مشخصات اتصال دیتابیس

وضعیت، آدرس خصوصی و اطلاعات اتصال دیتابیس را برای عضو مجاز برمی‌گرداند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/databases/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "id": "uuid",
  "engine": "postgresql",
  "host": "database-abc",
  "port": 5432,
  "database": "app",
  "username": "app"
}
PATCH/api/databases/{id}تنظیم دیتابیسdatabases:write
دیتابیس مدیریت‌شده

تنظیم دیتابیس

برنامه بکاپ، نگه‌داری، ابزار مدیریت و PITR را تغییر می‌دهد.

Scope
databases:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/databases/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"backupSchedule":"daily","backupRetention":7,"pitrEnabled":true}'
Response
{
  "ok": true
}
DELETE/api/databases/{id}حذف دیتابیسdatabases:write
دیتابیس مدیریت‌شده

حذف دیتابیس

دیتابیس و دیسک عملیاتی آن را حذف می‌کند؛ بکاپ مستقل تا پایان نگه‌داری باقی می‌ماند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/databases/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
GET/api/databases/{id}/accessکاربران و دیتابیس‌های منطقیdatabases:write
دیتابیس مدیریت‌شده

کاربران و دیتابیس‌های منطقی

Credentialها، اتصال‌های پروژه و مقصدهای مجاز را بدون نمایش رمز فهرست می‌کند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/databases/RESOURCE_ID/access' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "engine": "postgres",
  "credentials": [],
  "projects": []
}
POST/api/databases/{id}/accessمدیریت دسترسی دیتابیسdatabases:write
دیتابیس مدیریت‌شده

مدیریت دسترسی دیتابیس

Credential می‌سازد، رمز را نمایش یا تعویض می‌کند و اتصال پروژه ایجاد می‌کند. پاسخ عملیات ساخت، نمایش و تعویض شامل secret است و باید محرمانه بماند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/databases/RESOURCE_ID/access' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"action":"create","database_name":"reports","username":"reporter"}'
Response
{
  "ok": true,
  "credentialId": "...",
  "connection": {
    "url": "..."
  }
}
DELETE/api/databases/{id}/accessحذف دسترسیdatabases:write
دیتابیس مدیریت‌شده

حذف دسترسی

Credential غیراصلی یا اتصال پروژه را با شناسه حذف می‌کند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/databases/RESOURCE_ID/access' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"credential_id":"..."}'
Response
{
  "ok": true
}
GET/api/databases/{id}/backupsبکاپ‌های دیتابیسprojects:read
دیتابیس مدیریت‌شده

بکاپ‌های دیتابیس

بکاپ‌های دستی و زمان‌بندی‌شده دیتابیس را فهرست می‌کند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/databases/RESOURCE_ID/backups' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "backups": [
    {
      "id": "uuid",
      "status": "ready",
      "createdAt": "2026-08-01T00:00:00Z"
    }
  ]
}
POST/api/databases/{id}/backupsبکاپ دستی دیتابیسdatabases:write
دیتابیس مدیریت‌شده

بکاپ دستی دیتابیس

Dump سازگار با موتور دیتابیس را در Object Storage ایجاد می‌کند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/databases/RESOURCE_ID/backups' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "id": "uuid",
  "status": "queued"
}
GET/api/databases/{id}/backups/{backupId}دانلود بکاپ دیتابیسprojects:read
دیتابیس مدیریت‌شده

دانلود بکاپ دیتابیس

برای بکاپ آماده URL دانلود کوتاه‌عمر صادر می‌کند.

Scope
projects:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/databases/RESOURCE_ID/backups/BACKUP_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "url": "https://…",
  "expiresIn": 900
}
DELETE/api/databases/{id}/backups/{backupId}حذف بکاپ دیتابیسdatabases:write
دیتابیس مدیریت‌شده

حذف بکاپ دیتابیس

بکاپ انتخابی و Base Backup مربوط به PITR را حذف می‌کند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/databases/RESOURCE_ID/backups/BACKUP_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
POST/api/databases/{id}/backups/{backupId}/verifyتست صحت بکاپdatabases:write
دیتابیس مدیریت‌شده

تست صحت بکاپ

قابلیت خواندن و سازگاری فایل بکاپ را بدون تغییر دیتابیس عملیاتی بررسی می‌کند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/databases/RESOURCE_ID/backups/BACKUP_ID/verify' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "status": "verified"
}
POST/api/databases/{id}/backups/{backupId}/restoreبازیابی بکاپ دیتابیسdatabases:write
دیتابیس مدیریت‌شده

بازیابی بکاپ دیتابیس

بکاپ انتخابی را روی سرویس دیتابیس بازیابی می‌کند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/databases/RESOURCE_ID/backups/BACKUP_ID/restore' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "status": "queued"
}
POST/api/databases/{id}/recoveryبازیابی نقطه‌ای (PITR)databases:write
دیتابیس مدیریت‌شده

بازیابی نقطه‌ای (PITR)

PostgreSQL را تا زمان مشخص‌شده بازیابی می‌کند.

Scope
databases:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/databases/RESOURCE_ID/recovery' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"target_at":"2026-08-01T10:30:00+03:30"}'
Response
{
  "ok": true,
  "status": "queued"
}
GET/api/cdn/sitesدامنه‌ها و پلن‌های CDNcdn:read
شبکه توزیع محتوا

دامنه‌ها و پلن‌های CDN

دامنه‌های CDN همان فضای کاری را همراه مصرف، سلامت ذخیره‌شده، پلن‌های فعال و Nameserverها برمی‌گرداند.

Scope
cdn:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/cdn/sites' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "sites": [],
  "plans": [],
  "nameservers": [
    "l.ns.sotoon53.com",
    "ns.sotoon53.com"
  ]
}
POST/api/cdn/sitesساخت سرویس CDNcdn:write
شبکه توزیع محتوا

ساخت سرویس CDN

دامنه را با رکوردهای تاییدشده می‌سازد و هزینه ماه اول پلن را از کیف پول کسر می‌کند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/cdn/sites' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"domain":"example.com","origin":"203.0.113.10","scheme":"https","planId":"starter","records":[]}'
Response
{
  "ok": true,
  "id": "uuid",
  "automaticDns": false
}
POST/api/cdn/scanاسکن رکوردهای DNScdn:write
شبکه توزیع محتوا

اسکن رکوردهای DNS

پیش از ساخت CDN، رکوردهای عمومی رایج دامنه را با محدودیت نرخ بررسی می‌کند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/cdn/scan' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"domain":"example.com"}'
Response
{
  "domain": "example.com",
  "records": []
}
GET/api/cdn/sites/{id}جزئیات سرویس CDNcdn:read
شبکه توزیع محتوا

جزئیات سرویس CDN

وضعیت tenant-scoped سرویس، رکوردها، مبداها، فایروال و سلامت زنده ارائه‌دهنده را برمی‌گرداند.

Scope
cdn:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "site": {
    "id": "uuid",
    "domain": "example.com"
  },
  "summary": {
    "connected": true
  },
  "records": [],
  "upstreams": [],
  "firewallRules": []
}
PATCH/api/cdn/sites/{id}فعال‌سازی دوباره تمدیدcdn:write
شبکه توزیع محتوا

فعال‌سازی دوباره تمدید

لغو پایان دوره را تا پیش از شروع حذف سرویس برمی‌گرداند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "periodEnd": "2026-09-01T00:00:00Z"
}
DELETE/api/cdn/sites/{id}لغو یا حذف CDNcdn:write
شبکه توزیع محتوا

لغو یا حذف CDN

به‌طور پیش‌فرض تمدید را در پایان دوره لغو می‌کند؛ immediate=1 سرویس را فوراً و بدون بازپرداخت دوره جاری حذف می‌کند.

Scope
cdn:write
Content-Type
application/json

پارامترهای Query

  • immediate: برای حذف فوری مقدار 1
cURL
curl --request DELETE 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true,
  "scheduled": true
}
PUT/api/cdn/sites/{id}/planارتقای پلن CDNcdn:write
شبکه توزیع محتوا

ارتقای پلن CDN

پلن را فقط به سطح بالاتر ارتقا می‌دهد و اختلاف هزینه دوره جاری را تراکنشی کسر می‌کند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request PUT 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/plan' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"planId":"pro"}'
Response
{
  "plan": {
    "id": "pro"
  },
  "chargedToman": 90000,
  "balanceToman": 410000,
  "periodEnd": "2026-09-01T00:00:00Z"
}
GET/api/cdn/sites/{id}/recordsرکوردهای DNScdn:read
شبکه توزیع محتوا

رکوردهای DNS

رکوردهای DNS دامنه متعلق به همان فضای کاری را از ارائه‌دهنده دریافت می‌کند.

Scope
cdn:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/records' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "records": []
}
POST/api/cdn/sites/{id}/recordsافزودن رکورد DNScdn:write
شبکه توزیع محتوا

افزودن رکورد DNS

یک رکورد اعتبارسنجی‌شده را تا سقف پلن اضافه می‌کند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/records' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"name":"www","type":"CNAME","value":"example.com","ttl":300,"cdn":true}'
Response
{
  "ok": true,
  "records": []
}
PATCH/api/cdn/sites/{id}/recordsویرایش رکورد DNScdn:write
شبکه توزیع محتوا

ویرایش رکورد DNS

رکورد مشخص‌شده را با ورودی اعتبارسنجی‌شده جایگزین می‌کند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/records' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"id":"www:0","name":"www","type":"CNAME","value":"example.com","ttl":300,"cdn":true}'
Response
{
  "ok": true,
  "records": []
}
DELETE/api/cdn/sites/{id}/recordsحذف رکورد DNScdn:write
شبکه توزیع محتوا

حذف رکورد DNS

رکورد مشخص‌شده را از دامنه همان فضای کاری حذف می‌کند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/records' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"id":"www:0"}'
Response
{
  "ok": true,
  "records": []
}
GET/api/cdn/sites/{id}/originمبداهای CDNcdn:read
شبکه توزیع محتوا

مبداهای CDN

تنظیمات Upstream دامنه را بدون اطلاعات داخلی ارائه‌دهنده برمی‌گرداند.

Scope
cdn:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/origin' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "upstreams": []
}
PATCH/api/cdn/sites/{id}/originتنظیم مبدا CDNcdn:write
شبکه توزیع محتوا

تنظیم مبدا CDN

سرورها، پروتکل، Host header و Health Check مبدا را اعتبارسنجی و ذخیره می‌کند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/origin' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"name":"quickcdn-www","scheme":"https","hostHeader":"www.example.com","servers":[{"host":"203.0.113.10","port":443,"weight":1}],"healthProtocol":"tcp","healthPath":"/","haRouting":false,"smartRouting":false}'
Response
{
  "ok": true,
  "upstreams": []
}
POST/api/cdn/sites/{id}/actionsعملیات CDNcdn:write
شبکه توزیع محتوا

عملیات CDN

کش مسیرهای مشخص را پاک می‌کند یا TLS، WAF و حالت توسعه را طبق قابلیت پلن تغییر می‌دهد.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/actions' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"action":"purge","paths":["/*"]}'
Response
{
  "ok": true
}
GET/api/cdn/sites/{id}/firewallقوانین فایروال CDNcdn:read
شبکه توزیع محتوا

قوانین فایروال CDN

قوانین WAF دامنه همان فضای کاری را برمی‌گرداند.

Scope
cdn:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/firewall' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "rules": []
}
POST/api/cdn/sites/{id}/firewallافزودن قانون فایروالcdn:write
شبکه توزیع محتوا

افزودن قانون فایروال

قانون اعتبارسنجی‌شده را تا سقف پلن اضافه می‌کند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/firewall' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"name":"block-admin","enabled":true,"constraintGroups":[[{"type":"path","operator":"starts_with","expected":["/admin"],"negate":false}]],"action":{"type":"block","statusCode":403}}'
Response
{
  "rules": []
}
PUT/api/cdn/sites/{id}/firewallویرایش قانون فایروالcdn:write
شبکه توزیع محتوا

ویرایش قانون فایروال

قانون مشخص‌شده را با تعریف کامل جدید جایگزین می‌کند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request PUT 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/firewall' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"id":"0","name":"block-admin","enabled":true,"constraintGroups":[[{"type":"path","operator":"starts_with","expected":["/admin"],"negate":false}]],"action":{"type":"block","statusCode":403}}'
Response
{
  "rules": []
}
PATCH/api/cdn/sites/{id}/firewallوضعیت یا اولویت قانون فایروالcdn:write
شبکه توزیع محتوا

وضعیت یا اولویت قانون فایروال

قانون را فعال/غیرفعال می‌کند یا یک ردیف بالا/پایین می‌برد.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/firewall' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"id":"0","operation":"move","direction":"up"}'
Response
{
  "rules": []
}
DELETE/api/cdn/sites/{id}/firewallحذف قانون فایروالcdn:write
شبکه توزیع محتوا

حذف قانون فایروال

قانون مشخص‌شده را از دامنه همان فضای کاری حذف می‌کند.

Scope
cdn:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/cdn/sites/RESOURCE_ID/firewall' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"id":"0"}'
Response
{
  "rules": []
}
GET/api/notificationsوضعیت اعلان‌هاnotifications:read
اعلان‌ها

وضعیت اعلان‌ها

کانال‌ها، مسیر هر هشدار، مقصدهای مجاز و ۵۰ تحویل اخیر فضای کاری را برمی‌گرداند؛ signing secret هرگز نمایش داده نمی‌شود.

Scope
notifications:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/notifications' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "channels": [],
  "deliveries": [],
  "preferences": [],
  "availability": {
    "email": true,
    "sms": true
  },
  "members": []
}
POST/api/notificationsساخت کانال اعلانnotifications:write
اعلان‌ها

ساخت کانال اعلان

کانال ایمیل، پیامک یا Webhook می‌سازد. مقصد ایمیل باید عضو همان فضای کاری باشد.

Scope
notifications:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/notifications' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"name":"عملیات","kind":"email","destination":"ops@example.com"}'
Response
{
  "id": "uuid",
  "name": "عملیات",
  "kind": "email",
  "enabled": true
}
PATCH/api/notifications/preferencesمسیر نوع هشدارnotifications:write
اعلان‌ها

مسیر نوع هشدار

ارسال ایمیل و پیامک را برای یک نوع هشدار تنظیم می‌کند؛ ثبت داخل پنل همیشه فعال می‌ماند.

Scope
notifications:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/notifications/preferences' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"kind":"uptime","email":false,"sms":false}'
Response
{
  "kind": "uptime",
  "email": false,
  "sms": false
}
PATCH/api/notifications/{id}فعال‌سازی کانالnotifications:write
اعلان‌ها

فعال‌سازی کانال

کانال انتخابی را فعال یا غیرفعال می‌کند.

Scope
notifications:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/notifications/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"enabled":true}'
Response
{
  "id": "uuid",
  "enabled": true
}
POST/api/notifications/{id}آزمون کانالnotifications:write
اعلان‌ها

آزمون کانال

یک ارسال آزمایشی محدودشده به یک بار در پنج دقیقه در صف قرار می‌دهد.

Scope
notifications:write
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/notifications/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "queued": "uuid"
}
DELETE/api/notifications/{id}حذف کانالnotifications:write
اعلان‌ها

حذف کانال

کانال متعلق به همان فضای کاری را حذف می‌کند.

Scope
notifications:write
Content-Type
application/json
cURL
curl --request DELETE 'https://console.paasta.cloud/api/notifications/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "deleted": "uuid"
}
GET/api/supportفهرست تیکت‌های پشتیبانیsupport:read
پشتیبانی

فهرست تیکت‌های پشتیبانی

حداکثر ۱۰۰ تیکت فضای کاری را به ترتیب آخرین پیام برمی‌گرداند.

Scope
support:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/support' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "tickets": [
    {
      "id": "uuid",
      "number": "1042",
      "subject": "خطای استقرار",
      "status": "open",
      "message_count": 2
    }
  ]
}
POST/api/supportساخت تیکت پشتیبانیsupport:write
پشتیبانی

ساخت تیکت پشتیبانی

تیکت خصوصی فضای کاری را همراه نخستین پیام و پیوست اختیاری می‌سازد.

Scope
support:write
Content-Type
multipart/form-data
cURL
curl --request POST 'https://console.paasta.cloud/api/support' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --form 'subject=خطای استقرار' \
  --form 'body=شرح مسئله' \
  --form 'category=technical' \
  --form 'priority=normal' \
  --form 'project=my-app' \
  --form 'attachment=@error.log'
Response
{
  "id": "uuid",
  "number": 1042
}
GET/api/support/{id}جزئیات تیکت پشتیبانیsupport:read
پشتیبانی

جزئیات تیکت پشتیبانی

مشخصات تیکت و تمام پیام‌های همان تیکت را بدون ایمیل فرستندگان برمی‌گرداند.

Scope
support:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/support/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ticket": {
    "id": "uuid",
    "number": "1042",
    "subject": "خطای استقرار",
    "status": "open"
  },
  "messages": [
    {
      "id": "uuid",
      "sender_name": "کاربر",
      "body": "شرح مسئله",
      "is_staff": false,
      "attachment_name": null
    }
  ]
}
POST/api/support/{id}ارسال پاسخ تیکتsupport:write
پشتیبانی

ارسال پاسخ تیکت

پاسخ جدید و پیوست اختیاری را به تیکت متعلق به همان فضای کاری اضافه می‌کند.

Scope
support:write
Content-Type
multipart/form-data
cURL
curl --request POST 'https://console.paasta.cloud/api/support/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --form 'body=اطلاعات تکمیلی' \
  --form 'attachment=@error.log'
Response
{
  "ok": true
}
PATCH/api/support/{id}بستن تیکت پشتیبانیsupport:write
پشتیبانی

بستن تیکت پشتیبانی

تیکت متعلق به فضای کاری را می‌بندد؛ کاربران مشتری نمی‌توانند وضعیت یا اولویت دیگری تعیین کنند.

Scope
support:write
Content-Type
application/json
cURL
curl --request PATCH 'https://console.paasta.cloud/api/support/RESOURCE_ID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"status":"closed"}'
Response
{
  "ok": true
}
GET/api/support/{id}/attachments/{messageId}دریافت پیوست تیکتsupport:read
پشتیبانی

دریافت پیوست تیکت

پیوست یک پیام را فقط از تیکت متعلق به همان فضای کاری دریافت می‌کند.

Scope
support:read
Content-Type
application/json
cURL
curl --request GET 'https://console.paasta.cloud/api/support/RESOURCE_ID/attachments/MESSAGEID' \
  --header 'Authorization: Bearer $PAASTA_API_KEY'
Response
{
  "ok": true
}
POST/api/mcpPaasta MCP Serverdynamic scope
اتوماسیون

Paasta MCP Server

درخواست JSON-RPC 2.0 ابزارهای سازگار با MCP را پردازش می‌کند؛ شامل فهرست پروژه، لاگ، استقرار و عملیات مجاز Token.

Scope
dynamic
Content-Type
application/json
cURL
curl --request POST 'https://console.paasta.cloud/api/mcp' \
  --header 'Authorization: Bearer $PAASTA_API_KEY' \
  --header 'Content-Type: application/json' \ \
  --data '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": []
  }
}
قرارداد خطا

پاسخ‌های قابل پیش‌بینی

400ورودی نامعتبر
401Token نامعتبر یا منقضی
403Scope یا دسترسی ناکافی
404منبع در فضای کاری پیدا نشد
409تعارض وضعیت منبع
429محدودیت نرخ درخواست
{
  "error": "شرح قابل خواندن خطا",
  "requestId": "اختیاری برای پیگیری"
}