Files
3x-ui/docs/content/docs/en/reference/api/hosts.mdx
T
Nethmina Yasas bc1b750e00 feat(clients): bind host rules to individual clients in subscriptions (#6620)
Host rules applied per inbound only, so every client of an inbound got the same
subscription endpoints (#6618). A client can now be bound to one or more host
rules, and its raw, JSON and Clash subscriptions render only those hosts, in
either subscription order; an unbound client is unchanged. A binding whose hosts
are deleted, disabled or excluded from the format fails closed: the client gets
no links there but stays in traffic accounting. Host edits keep row ids, so
bindings survive them; nil leaves a stored binding alone and an empty list
clears it.
2026-10-24 12:33:02 +02:00

99 lines
5.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Hosts
description: Per-inbound override endpoints. Each enabled host renders one extra
subscription link/proxy with its own address/port/TLS, superseding the legacy
externalProxy array. All endpoints under /panel/api/hosts.
full: true
_openapi:
preload:
- ./public/openapi.json
toc:
- depth: 2
title: List every host across all inbounds, grouped by inbound then ordered by
sort order.
url: '#list-every-host-across-all-inbounds-grouped-by-inbound-then-ordered-by-sort-order'
- depth: 2
title: List every host row with its numeric id, for id-based pickers such as the
per-client host rule override.
url: '#list-every-host-row-with-its-numeric-id-for-id-based-pickers-such-as-the-per-client-host-rule-override'
- depth: 2
title: Fetch a single host group by Group ID.
url: '#fetch-a-single-host-group-by-group-id'
- depth: 2
title: Fetch one inbound's hosts, grouped by host group.
url: '#fetch-one-inbounds-hosts-grouped-by-host-group'
- depth: 2
title: Distinct, sorted set of tags used across all hosts.
url: '#distinct-sorted-set-of-tags-used-across-all-hosts'
- depth: 2
title: Create a host group on inbounds.
url: '#create-a-host-group-on-inbounds'
- depth: 2
title: Replace a host group’s content.
url: '#replace-a-host-groups-content'
- depth: 2
title: Delete a host group.
url: '#delete-a-host-group'
- depth: 2
title: Enable or disable a host group.
url: '#enable-or-disable-a-host-group'
- depth: 2
title: Set host group sort order by the position of each groupId in the array.
IDs must be unique and refer to existing groups; omitted groups follow
in their previous order.
url: '#set-host-group-sort-order-by-the-position-of-each-groupid-in-the-array-ids-must-be-unique-and-refer-to-existing-groups-omitted-groups-follow-in-their-previous-order'
- depth: 2
title: Add a host group to inbounds (same as /add).
url: '#add-a-host-group-to-inbounds-same-as-add'
- depth: 2
title: Enable or disable many host groups in one call.
url: '#enable-or-disable-many-host-groups-in-one-call'
- depth: 2
title: Delete many host groups in one call.
url: '#delete-many-host-groups-in-one-call'
structuredData:
headings:
- content: List every host across all inbounds, grouped by inbound then ordered by
sort order.
id: list-every-host-across-all-inbounds-grouped-by-inbound-then-ordered-by-sort-order
- content: List every host row with its numeric id, for id-based pickers such as
the per-client host rule override.
id: list-every-host-row-with-its-numeric-id-for-id-based-pickers-such-as-the-per-client-host-rule-override
- content: Fetch a single host group by Group ID.
id: fetch-a-single-host-group-by-group-id
- content: Fetch one inbound's hosts, grouped by host group.
id: fetch-one-inbounds-hosts-grouped-by-host-group
- content: Distinct, sorted set of tags used across all hosts.
id: distinct-sorted-set-of-tags-used-across-all-hosts
- content: Create a host group on inbounds.
id: create-a-host-group-on-inbounds
- content: Replace a host group’s content.
id: replace-a-host-groups-content
- content: Delete a host group.
id: delete-a-host-group
- content: Enable or disable a host group.
id: enable-or-disable-a-host-group
- content: Set host group sort order by the position of each groupId in the array.
IDs must be unique and refer to existing groups; omitted groups follow
in their previous order.
id: set-host-group-sort-order-by-the-position-of-each-groupid-in-the-array-ids-must-be-unique-and-refer-to-existing-groups-omitted-groups-follow-in-their-previous-order
- content: Add a host group to inbounds (same as /add).
id: add-a-host-group-to-inbounds-same-as-add
- content: Enable or disable many host groups in one call.
id: enable-or-disable-many-host-groups-in-one-call
- content: Delete many host groups in one call.
id: delete-many-host-groups-in-one-call
contents: []
---
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
export default function Layout(props) {
const { OpenAPIPage } = props.components ?? {};
return (
<>
{props.children}
<OpenAPIPage document="./public/openapi.json" webhooks={[]} operations={[{"path":"/panel/api/hosts/list","method":"get"},{"path":"/panel/api/hosts/raw","method":"get"},{"path":"/panel/api/hosts/get/{groupId}","method":"get"},{"path":"/panel/api/hosts/byInbound/{inboundId}","method":"get"},{"path":"/panel/api/hosts/tags","method":"get"},{"path":"/panel/api/hosts/add","method":"post"},{"path":"/panel/api/hosts/update/{groupId}","method":"post"},{"path":"/panel/api/hosts/del/{groupId}","method":"post"},{"path":"/panel/api/hosts/setEnable/{groupId}","method":"post"},{"path":"/panel/api/hosts/reorder","method":"post"},{"path":"/panel/api/hosts/bulk/add","method":"post"},{"path":"/panel/api/hosts/bulk/setEnable","method":"post"},{"path":"/panel/api/hosts/bulk/del","method":"post"}]} showTitle />
</>
);
}