docs(api): document clients bulkAttach endpoint

This commit is contained in:
MHSanaei
2026-05-28 02:47:48 +02:00
parent 9e005ffcf9
commit a07b68894c
2 changed files with 74 additions and 0 deletions

View File

@@ -2905,6 +2905,69 @@
}
}
},
"/panel/api/clients/bulkAttach": {
"post": {
"tags": [
"Clients"
],
"summary": "Attach many existing clients to many inbounds in one call. Each client keeps its identity (email/UUID/password/subId) and a shared traffic row; all clients are added to a target inbound in a single AddInboundClient call. Clients already present on a target are reported under skipped. Returns per-email attached/skipped/errors lists and triggers a single Xray restart if any target inbound was running.",
"operationId": "post_panel_api_clients_bulkAttach",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {
"emails": [
"alice",
"bob"
],
"inboundIds": [
7,
9
]
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"msg": {
"type": "string"
},
"obj": {}
}
},
"example": {
"success": true,
"obj": {
"attached": [
"alice",
"bob"
],
"skipped": [
"bob"
],
"errors": []
}
}
}
}
}
}
}
},
"/panel/api/clients/bulkResetTraffic": {
"post": {
"tags": [

View File

@@ -551,6 +551,17 @@ export const sections: readonly Section[] = [
body: '{\n "emails": ["alice", "bob"],\n "group": "customer-a"\n}',
response: '{\n "success": true,\n "obj": {\n "affected": 2\n }\n}',
},
{
method: 'POST',
path: '/panel/api/clients/bulkAttach',
summary: 'Attach many existing clients to many inbounds in one call. Each client keeps its identity (email/UUID/password/subId) and a shared traffic row; all clients are added to a target inbound in a single AddInboundClient call. Clients already present on a target are reported under skipped. Returns per-email attached/skipped/errors lists and triggers a single Xray restart if any target inbound was running.',
params: [
{ name: 'emails', in: 'body (json)', type: 'array', desc: 'Emails of existing clients to attach.' },
{ name: 'inboundIds', in: 'body (json)', type: 'integer[]', desc: 'Target inbound IDs to attach every client to.' },
],
body: '{\n "emails": ["alice", "bob"],\n "inboundIds": [7, 9]\n}',
response: '{\n "success": true,\n "obj": {\n "attached": ["alice", "bob"],\n "skipped": ["bob"],\n "errors": []\n }\n}',
},
{
method: 'POST',
path: '/panel/api/clients/bulkResetTraffic',