create_remote_node
POST
/api/v1/admin/remote-nodes
const url = 'https://example.com/api/v1/admin/remote-nodes';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"base_url":"example","is_enabled":true,"name":"example","transport_mode":"direct"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}use serde_json::json;use reqwest;
#[tokio::main]pub async fn main() { let url = "https://example.com/api/v1/admin/remote-nodes";
let payload = json!({ "base_url": "example", "is_enabled": true, "name": "example", "transport_mode": "direct" });
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Authorization", "Bearer <token>".parse().unwrap()); headers.insert("Content-Type", "application/json".parse().unwrap());
let client = reqwest::Client::new(); let response = client.post(url) .headers(headers) .json(&payload) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request POST \ --url https://example.com/api/v1/admin/remote-nodes \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "base_url": "example", "is_enabled": true, "name": "example", "transport_mode": "direct" }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
Create a remote node.
object
base_url
string | null
is_enabled
boolean
name
required
string
transport_mode
Remote node transport mode.
string
Responses
Section titled “Responses”Remote node created
Media typeapplication/json
统一 API 响应格式
成功: { "code": "success", "msg": "", "data": {...} }
失败: { "code": "auth.credentials_failed", "msg": "Invalid Credentials" }
object
code
required
string
data
object
base_url
required
string
capabilities
required
object
browser_cors
object
allowed_headers
Array<string>
exposed_headers
Array<string>
features
object
accept_ranges_header
boolean
browser_presigned_cors
boolean
compose
boolean
list
boolean
metadata
boolean
object_delete
boolean
object_get
boolean
object_head
boolean
object_put
boolean
range_get
boolean
limits
object
compose_max_object_size
integer | null format: int64
compose_max_parts
integer | null format: int32
max_ingress_size
integer | null format: int64
min_supported_protocol_version
string
protocol_version
string
server_version
string | null
supports_capacity
boolean
supports_list
boolean
supports_range_read
boolean
supports_stream_upload
boolean
created_at
required
string
enrollment_status
required
string
id
required
integer format: int64
is_enabled
required
boolean
last_checked_at
string | null format: date-time
last_error
required
string
name
required
string
transport_mode
required
Remote node transport mode.
string
tunnel
required
object
last_error
required
string
last_seen_at
string | null
status
required
string
updated_at
required
string
error
msg
required
string
Example
{ "code": "success", "data": { "enrollment_status": "not_started", "transport_mode": "direct", "tunnel": { "status": "online" } }}Unauthorized
Forbidden