Skip to content

Referans Control Plane

Cavanshirpro edited this page Sep 19, 2026 · 1 revision

Control plane: tüm yollar, istek modelleri ve roller

English · Türkçe · Languages / Diller

Kapsam: JSON API Forge 0.5.1 · İnceleme: 17 Eylül 2026 · Dil: Türkçe

Control-plane prefix'i /__forge/editor/v1'dir. Proje API key'leri bu oturumun yerine kullanılamaz. Setup/login/register dışındaki yollar session ve ilgili izin/policy kontrollerine tabidir. Endpoint listesi tek başına erişim yetkisi vermez; remote Editor rehberindeki ağ, kaynak kapsamı ve rol sınırlarını uygulayın.

HTTP ve WebSocket yolları

Her path'in başına /__forge/editor/v1 gelir. Status sütunu dekoratördeki açık başarı değerini gösterir; hata yanıtları ve handler içindeki Response seçimleri ayrıca mümkündür. Endpoint fonksiyon adı, sabit committe ayrıntıyı bulmak içindir.

Metot Path Handler Başarı/status override
GET /setup/status setup_status 200
POST /setup/founder setup_founder HTTP_201_CREATED
POST /auth/login login 200
POST /auth/register register HTTP_201_CREATED
POST /auth/logout logout HTTP_204_NO_CONTENT
GET /capabilities capabilities 200
GET /me me 200
PATCH /me update_me 200
GET /roles roles 200
POST /roles create_role HTTP_201_CREATED
PUT /roles/{role_id} update_role 200
GET /members members 200
PUT /members/{user_id} update_member HTTP_204_NO_CONTENT
POST /invitations invitation HTTP_201_CREATED
GET /projects projects 200
POST /projects create_project HTTP_201_CREATED
GET /projects/{project_name}/documents documents 200
GET /projects/{project_name}/documents/{document_path:path} read_document 200
PUT /projects/{project_name}/documents/{document_path:path} write_document 200
POST /projects/{project_name}/validate validate_project 200
GET /projects/{project_name}/databases databases 200
GET /projects/{project_name}/databases/{alias}/tables/{table_name}/rows database_rows 200
GET /areas areas 200
POST /areas create_area HTTP_201_CREATED
GET /areas/{area_id}/messages messages 200
POST /areas/{area_id}/messages post_message HTTP_201_CREATED
GET /notes notes 200
POST /notes create_note HTTP_201_CREATED
POST /areas/{area_id}/attachments upload_attachment HTTP_201_CREATED
GET /areas/{area_id}/attachments attachments 200
GET /attachments/{attachment_id} download_attachment 200
POST /calls create_call HTTP_201_CREATED
POST /calls/{call_id}/ticket create_call_ticket 200
GET /call-client/{call_id} call_client 200
WEBSOCKET /ws/calls/{call_id} call_socket WebSocket
GET /audit audit 200

İstek gövdesi modelleri

Şema sınırlarına ilave runtime kuralları vardır; örneğin belge SHA değeri new veya 64 küçük hex karakter, parola uzunluğu Settings politikasına uygun, davet rolleri delegasyon sınırları içinde olmalıdır. İzin verilen enum benzeri stringler sadece alan tipi str olduğu için serbest kabul edilmemelidir.

DocumentWrite

Alan Tür Zorunlu Varsayılan Şema sınırları
content string Evet — —
expected_sha256 string Evet — minLength=3; maxLength=64

ProjectCreate

Alan Tür Zorunlu Varsayılan Şema sınırları
name string Evet — —
slug string Evet — —

FounderCreate

Alan Tür Zorunlu Varsayılan Şema sınırları
username string Evet — minLength=3; maxLength=32
password string Evet — minLength=1; maxLength=256
display_name string Evet — minLength=1; maxLength=80

LoginRequest

Alan Tür Zorunlu Varsayılan Şema sınırları
username string Evet — minLength=1; maxLength=64
password string Evet — minLength=1; maxLength=256

InvitationRegistration

Alan Tür Zorunlu Varsayılan Şema sınırları
username string Evet — minLength=3; maxLength=32
password string Evet — minLength=1; maxLength=256
display_name string Evet — minLength=1; maxLength=80
invitation string Evet — minLength=32; maxLength=512

ProfileUpdate

Alan Tür Zorunlu Varsayılan Şema sınırları
display_name string | null Hayır null maxLength=80
title string | null Hayır null maxLength=120
bio string | null Hayır null maxLength=2000
timezone string | null Hayır null maxLength=64
status string | null Hayır null maxLength=160

RoleWrite

Alan Tür Zorunlu Varsayılan Şema sınırları
name string Evet — minLength=1; maxLength=64
rank integer Evet — min=1; max=999
permissions list[string] Evet — maxItems=100
document_allow list[string] Hayır [] maxItems=100
document_deny list[string] Hayır [] maxItems=100
database_allow list[string] Hayır [] maxItems=100

InvitationCreate

Alan Tür Zorunlu Varsayılan Şema sınırları
memberships list[dict[str, string]] Evet — minItems=1; maxItems=32
expires_hours integer Hayır 24 min=1; max=168

MemberUpdate

Alan Tür Zorunlu Varsayılan Şema sınırları
memberships list[dict[str, string]] Evet — maxItems=32
active boolean Hayır true —

AreaCreate

Alan Tür Zorunlu Varsayılan Şema sınırları
project string Evet — —
name string Evet — minLength=1; maxLength=96
description string Hayır "" maxLength=500
visibility string Hayır "open" —
minimum_rank integer Hayır 0 min=0; max=999
allowed_role_ids list[string] Hayır [] maxItems=100

MessageCreate

Alan Tür Zorunlu Varsayılan Şema sınırları
body string Evet — minLength=1
kind string Hayır "message" —

NoteCreate

Alan Tür Zorunlu Varsayılan Şema sınırları
project string Evet — —
area_id string | null Hayır null —
title string Evet — minLength=1; maxLength=160
body string Hayır "" —
visibility string Hayır "open" —
minimum_rank integer Hayır 0 min=0; max=999
allowed_role_ids list[string] Hayır [] maxItems=100

CallCreate

Alan Tür Zorunlu Varsayılan Şema sınırları
area_id string Evet — —
mode string Evet — —

Uygulama credential request modelleri

Aşağıdakiler Editor rol/session modeli değildir; proje güvenlik yollarında kullanılır.

APIKeyCreate

Alan Tür Zorunlu Varsayılan Şema sınırları
name string Evet — minLength=1; maxLength=128
roles list[string] Hayır [] maxItems=64
permissions list[string] Hayır [] maxItems=256
tenant_id string | null Hayır null maxLength=128
rate_requests integer | null Hayır null min=1; max=10000000
rate_window_seconds integer | null Hayır null min=1; max=86400
rate_burst integer | null Hayır null min=1; max=10000000
expires_at string | null Hayır null format="date-time"

JWTCreate

Alan Tür Zorunlu Varsayılan Şema sınırları
subject string Evet — minLength=1; maxLength=256
roles list[string] Hayır [] maxItems=64
permissions list[string] Hayır [] maxItems=256
tenant_id string | null Hayır null maxLength=128
exp_minutes integer | null Hayır null min=1; max=43200

Yerleşik roller

Rol Rank İzinler Belge kapsamı DB kapsamı
Founder 1000 * ["*"] ["*"]
Administrator 800 * ["*"] ["*"]
Developer 600 projects.read
projects.validate
documents.read
documents.write
documents.graphs.write
databases.metadata.read
databases.rows.read
profiles.read
profiles.write.own
members.read
areas.read
messages.read
messages.write
notes.read
notes.write
attachments.read
attachments.write
calls.join
calls.start
["app.json","config/*.json","graphs/*.forgegraph.json"] ["*"]
Analyst 400 projects.read
documents.read
databases.metadata.read
databases.rows.read
profiles.read
profiles.write.own
members.read
areas.read
messages.read
messages.write
notes.read
notes.write
attachments.read
calls.join
["*"] ["*"]
Collaborator 200 projects.read
documents.read
profiles.read
profiles.write.own
members.read
areas.read
messages.read
messages.write
notes.read
notes.write
attachments.read
attachments.write
calls.join
["*"] []
Viewer 100 projects.read
documents.read
databases.metadata.read
profiles.read
members.read
areas.read
messages.read
notes.read
attachments.read
["*"] ["*"]

Bilinen izin adları

  • areas.manage
  • areas.read
  • attachments.read
  • attachments.write
  • audit.read
  • calls.join
  • calls.start
  • databases.metadata.read
  • databases.rows.read
  • databases.undeclared.read
  • documents.graphs.write
  • documents.hooks.write
  • documents.read
  • documents.write
  • invitations.manage
  • members.manage
  • members.read
  • messages.read
  • messages.write
  • notes.read
  • notes.write
  • profiles.read
  • profiles.write.own
  • projects.create
  • projects.read
  • projects.validate
  • roles.manage
  • roles.read

* içeren üst roller dahi devre dışı policy veya founder’a özel kısıtları geçersiz kılmaz. Allow/deny ve proje membership, yalnız rank kıyaslamasından daha dar olabilir.

Kaynak ve doğrulama

Bu sayfa aşağıdaki sabit commitlerdeki davranışı açıklar. Yeni bir sürümde aynı davranışın sürdüğünü varsaymayın.


Wiki ana sayfa · Tüm sayfalar · Sürüm ve bakım

Clone this wiki locally