Access control lists
Rule sets that allow or block requests by IP/CIDR and other conditions; the platform provides built-in rules and tenants can create their own.
aclsProtectionAuthentication: User (some parameters admin only)6 endpointsList ACLs
GET
/api/v2/aclsAuthentication: User (some parameters admin only)
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| page | integer | — | Page number, starting from 1 |
| page_size | integer | — | Items per page |
| sort | string | — | Sort fields, comma-separated; prefix `-` for descending, e.g. `-created_at,id` |
| tenant_id | integer | — | Admin only: filter by tenant. Ignored for tenant credentials, which only see their own tenant's data |
| enabled | boolean | — | Filter by enabled state. |
| name | string | — | Filter by name substring. |
| owner | string | — | platform = platform objects only; tenant = tenant objects only. |
Create ACL
POST
/api/v2/aclsAuthentication: User (some parameters admin only)
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| default_action | string | Required | Action when no rule matches. |
| des | string | — | Remark; empty if omitted (omitting it on update also clears it, since the update replaces the whole object). |
| enabled | boolean | — | Whether enabled |
| name | string | Required | Name |
| rules | AclRule[] | Required | Matched in order; the count is limited by the setting protect.acl_rules_max. |
| tenant_id | integer | — | Owning tenant; null = platform object (built-in or created by an admin, read-only for tenants). |
Batch enable or disable ACLs
POST
/api/v2/acls/batch-enableAuthentication: User (some parameters admin only)
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | Required | Whether enabled |
| ids | integer[] | Required | IDs of the objects to change, at most 100. |
Get ACL
GET
/api/v2/acls/{id}Authentication: User (some parameters admin only)
Update ACL
PUT
/api/v2/acls/{id}Authentication: User (some parameters admin only)
Request body application/json
| Field | Type | Required | Description |
|---|---|---|---|
| default_action | string | Required | Action when no rule matches. |
| des | string | — | Remark; empty if omitted (omitting it on update also clears it, since the update replaces the whole object). |
| enabled | boolean | — | Whether enabled |
| name | string | Required | Name |
| rules | AclRule[] | Required | Matched in order; the count is limited by the setting protect.acl_rules_max. |
| tenant_id | integer | — | Owning tenant; null = platform object (built-in or created by an admin, read-only for tenants). |
Delete ACL
DELETE
/api/v2/acls/{id}Authentication: User (some parameters admin only)
Access control lists object
| Field | Type | Required | Description |
|---|---|---|---|
| builtin | boolean | — | Built-in object; cannot be deleted. |
| created_at | string | — | Created at |
| default_action | string | — | Action when no rule matches. |
| des | string | — | Remark; empty if omitted (omitting it on update also clears it, since the update replaces the whole object). |
| enabled | boolean | — | Whether enabled |
| errors | FieldError[] | — | Why each remaining item was not changed; field is /ids/<index>, code as in the single-item update (not_found, readonly and so on). |
| id | integer | — | Record ID |
| ids | integer[] | Required | IDs of the objects to change, at most 100. |
| name | string | — | Name |
| rules | AclRule[] | — | Matched in order; the count is limited by the setting protect.acl_rules_max. |
| tenant_id | integer | — | Owning tenant; null = platform object (built-in or created by an admin, read-only for tenants). |
| updated | integer[] | — | IDs that were set (including those already in the target state), in request order. |
| updated_at | string | — | Updated at |