Repository navigation
Referans Control Plane
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.
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 |
Ş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.
| Alan | Tür | Zorunlu | Varsayılan | Şema sınırları |
|---|---|---|---|---|
content |
string |
Evet | — | — |
expected_sha256 |
string |
Evet | — |
minLength=3; maxLength=64
|
| Alan | Tür | Zorunlu | Varsayılan | Şema sınırları |
|---|---|---|---|---|
name |
string |
Evet | — | — |
slug |
string |
Evet | — | — |
| 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
|
| Alan | Tür | Zorunlu | Varsayılan | Şema sınırları |
|---|---|---|---|---|
username |
string |
Evet | — |
minLength=1; maxLength=64
|
password |
string |
Evet | — |
minLength=1; maxLength=256
|
| 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
|
| 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 |
| 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 |
| 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
|
| Alan | Tür | Zorunlu | Varsayılan | Şema sınırları |
|---|---|---|---|---|
memberships |
list[dict[str, string]] |
Evet | — | maxItems=32 |
active |
boolean |
Hayır | true |
— |
| 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 |
| Alan | Tür | Zorunlu | Varsayılan | Şema sınırları |
|---|---|---|---|---|
body |
string |
Evet | — | minLength=1 |
kind |
string |
Hayır | "message" |
— |
| 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 |
| Alan | Tür | Zorunlu | Varsayılan | Şema sınırları |
|---|---|---|---|---|
area_id |
string |
Evet | — | — |
mode |
string |
Evet | — | — |
Aşağıdakiler Editor rol/session modeli değildir; proje güvenlik yollarında kullanılır.
| 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" |
| 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
|
| Rol | Rank | İzinler | Belge kapsamı | DB kapsamı |
|---|---|---|---|---|
| Founder | 1000 | * |
["*"] |
["*"] |
| Administrator | 800 | * |
["*"] |
["*"] |
| Developer | 600 |
projects.readprojects.validatedocuments.readdocuments.writedocuments.graphs.writedatabases.metadata.readdatabases.rows.readprofiles.readprofiles.write.ownmembers.readareas.readmessages.readmessages.writenotes.readnotes.writeattachments.readattachments.writecalls.joincalls.start
|
["app.json","config/*.json","graphs/*.forgegraph.json"] |
["*"] |
| Analyst | 400 |
projects.readdocuments.readdatabases.metadata.readdatabases.rows.readprofiles.readprofiles.write.ownmembers.readareas.readmessages.readmessages.writenotes.readnotes.writeattachments.readcalls.join
|
["*"] |
["*"] |
| Collaborator | 200 |
projects.readdocuments.readprofiles.readprofiles.write.ownmembers.readareas.readmessages.readmessages.writenotes.readnotes.writeattachments.readattachments.writecalls.join
|
["*"] |
[] |
| Viewer | 100 |
projects.readdocuments.readdatabases.metadata.readprofiles.readmembers.readareas.readmessages.readnotes.readattachments.read
|
["*"] |
["*"] |
areas.manageareas.readattachments.readattachments.writeaudit.readcalls.joincalls.startdatabases.metadata.readdatabases.rows.readdatabases.undeclared.readdocuments.graphs.writedocuments.hooks.writedocuments.readdocuments.writeinvitations.managemembers.managemembers.readmessages.readmessages.writenotes.readnotes.writeprofiles.readprofiles.write.ownprojects.createprojects.readprojects.validateroles.manageroles.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.
Bu sayfa aşağıdaki sabit commitlerdeki davranışı açıklar. Yeni bir sürümde aynı davranışın sürdüğünü varsaymayın.