Proxies · API
Generated from the OpenAPI snapshot. Source summaries remain unchanged; JSON schemas below are the exact exported definitions.
GET /api/v1/proxy-groups
Proxygruppen einschließlich Default auflisten
Authentication: bearer token
Required route scopes: proxies:read
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"proxy_count",
"created_at",
"updated_at",
"is_default"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"proxy_count": {
"type": "integer"
},
"created_at": {
"type": [
"null",
"integer"
]
},
"updated_at": {
"type": [
"null",
"integer"
]
},
"is_default": {
"type": "boolean"
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxygruppen einschließlich Default auflisten",
"tags": [
"Proxys"
],
"x-required-scopes": [
"proxies:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"proxy_count",
"created_at",
"updated_at",
"is_default"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"proxy_count": {
"type": "integer"
},
"created_at": {
"type": [
"null",
"integer"
]
},
"updated_at": {
"type": [
"null",
"integer"
]
},
"is_default": {
"type": "boolean"
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxy-groups
Proxygruppe anlegen
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"201": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"proxy_count",
"created_at",
"updated_at",
"is_default"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"proxy_count": {
"type": "integer"
},
"created_at": {
"type": [
"null",
"integer"
]
},
"updated_at": {
"type": [
"null",
"integer"
]
},
"is_default": {
"type": "boolean"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxygruppe anlegen",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"proxies:write"
],
"responses": {
"201": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"proxy_count",
"created_at",
"updated_at",
"is_default"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"proxy_count": {
"type": "integer"
},
"created_at": {
"type": [
"null",
"integer"
]
},
"updated_at": {
"type": [
"null",
"integer"
]
},
"is_default": {
"type": "boolean"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}PATCH /api/v1/proxy-groups/{id}
Proxygruppe umbenennen
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
id | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
]Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"proxy_count",
"created_at",
"updated_at",
"is_default"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"proxy_count": {
"type": "integer"
},
"created_at": {
"type": [
"null",
"integer"
]
},
"updated_at": {
"type": [
"null",
"integer"
]
},
"is_default": {
"type": "boolean"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxygruppe umbenennen",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"additionalProperties": false
}
}
}
},
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"proxy_count",
"created_at",
"updated_at",
"is_default"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"proxy_count": {
"type": "integer"
},
"created_at": {
"type": [
"null",
"integer"
]
},
"updated_at": {
"type": [
"null",
"integer"
]
},
"is_default": {
"type": "boolean"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}DELETE /api/v1/proxy-groups/{id}
Proxygruppe löschen und enthaltene Proxys nach Default verschieben
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
id | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"moved"
],
"properties": {
"moved": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxygruppe löschen und enthaltene Proxys nach Default verschieben",
"tags": [
"Proxys"
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"moved"
],
"properties": {
"moved": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/batch/group
Ausgewählte Proxys einer Gruppe zuordnen
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids",
"group_id"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
},
"group_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results",
"succeeded",
"failed"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"id",
"ok"
],
"properties": {
"index": {
"type": "integer"
},
"id": {
"type": [
"null",
"string"
]
},
"ok": {
"type": "boolean"
},
"no": {
"type": "integer"
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": {}
}
}
}
}
}
},
"succeeded": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Ausgewählte Proxys einer Gruppe zuordnen",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids",
"group_id"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
},
"group_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results",
"succeeded",
"failed"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"id",
"ok"
],
"properties": {
"index": {
"type": "integer"
},
"id": {
"type": [
"null",
"string"
]
},
"ok": {
"type": "boolean"
},
"no": {
"type": "integer"
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": {}
}
}
}
}
}
},
"succeeded": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/sticky
Proxys aus einer Benutzervorlage mit je einer eigenen dauerhaft gespeicherten Session erstellen; Platzhalter {session}, {country}, {index}
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"proxy",
"username_template",
"count"
],
"properties": {
"proxy": {
"type": "object",
"required": [
"protocol",
"host",
"port"
],
"properties": {
"group_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
},
"ssh_private_key": {
"type": [
"string",
"null"
],
"maxLength": 65536
},
"ssh_key_passphrase": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"name": {
"type": [
"string",
"null"
],
"maxLength": 100
},
"protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"username": {
"type": [
"string",
"null"
],
"maxLength": 512
},
"password": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"change_ip_url": {
"type": [
"string",
"null"
],
"maxLength": 2048
},
"change_ip_cooldown_s": {
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 86400
},
"provider": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"remark": {
"type": [
"string",
"null"
],
"maxLength": 1000
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"maxItems": 30
}
},
"additionalProperties": false
},
"username_template": {
"type": "string",
"minLength": 1,
"maxLength": 512
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"country": {
"type": "string",
"maxLength": 2
},
"session_prefix": {
"type": "string",
"maxLength": 24
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"201": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"group_id",
"ssh_key_set",
"id",
"compat_proxy_id",
"name",
"protocol",
"host",
"port",
"username",
"password_set",
"change_ip_url",
"change_ip_cooldown_s",
"provider",
"provider_params",
"ip_checker",
"remark",
"tags",
"last_check",
"last_check_at",
"profile_count",
"created_at",
"updated_at",
"row_version",
"deleted_at",
"purge_after"
],
"properties": {
"group_id": {
"type": [
"null",
"string"
]
},
"ssh_key_set": {
"type": "boolean"
},
"id": {
"type": "string"
},
"compat_proxy_id": {
"type": [
"null",
"string"
]
},
"name": {
"type": [
"null",
"string"
]
},
"protocol": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_set": {
"type": "boolean"
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"change_ip_cooldown_s": {
"type": [
"null",
"integer"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"last_check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"last_check_at": {
"type": [
"null",
"integer"
]
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"row_version": {
"type": "integer"
},
"deleted_at": {
"type": [
"null",
"integer"
]
},
"purge_after": {
"type": [
"null",
"integer"
]
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxys aus einer Benutzervorlage mit je einer eigenen dauerhaft gespeicherten Session erstellen; Platzhalter {session}, {country}, {index}",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"proxy",
"username_template",
"count"
],
"properties": {
"proxy": {
"type": "object",
"required": [
"protocol",
"host",
"port"
],
"properties": {
"group_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
},
"ssh_private_key": {
"type": [
"string",
"null"
],
"maxLength": 65536
},
"ssh_key_passphrase": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"name": {
"type": [
"string",
"null"
],
"maxLength": 100
},
"protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"username": {
"type": [
"string",
"null"
],
"maxLength": 512
},
"password": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"change_ip_url": {
"type": [
"string",
"null"
],
"maxLength": 2048
},
"change_ip_cooldown_s": {
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 86400
},
"provider": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"remark": {
"type": [
"string",
"null"
],
"maxLength": 1000
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"maxItems": 30
}
},
"additionalProperties": false
},
"username_template": {
"type": "string",
"minLength": 1,
"maxLength": 512
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"country": {
"type": "string",
"maxLength": 2
},
"session_prefix": {
"type": "string",
"maxLength": 24
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"proxies:write"
],
"responses": {
"201": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"group_id",
"ssh_key_set",
"id",
"compat_proxy_id",
"name",
"protocol",
"host",
"port",
"username",
"password_set",
"change_ip_url",
"change_ip_cooldown_s",
"provider",
"provider_params",
"ip_checker",
"remark",
"tags",
"last_check",
"last_check_at",
"profile_count",
"created_at",
"updated_at",
"row_version",
"deleted_at",
"purge_after"
],
"properties": {
"group_id": {
"type": [
"null",
"string"
]
},
"ssh_key_set": {
"type": "boolean"
},
"id": {
"type": "string"
},
"compat_proxy_id": {
"type": [
"null",
"string"
]
},
"name": {
"type": [
"null",
"string"
]
},
"protocol": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_set": {
"type": "boolean"
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"change_ip_cooldown_s": {
"type": [
"null",
"integer"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"last_check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"last_check_at": {
"type": [
"null",
"integer"
]
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"row_version": {
"type": "integer"
},
"deleted_at": {
"type": [
"null",
"integer"
]
},
"purge_after": {
"type": [
"null",
"integer"
]
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}GET /api/v1/proxies
Proxys auflisten (Passwörter maskiert)
Authentication: bearer token
Required route scopes: proxies:read
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
group_id | query | No | |
check_status | query | No | |
sort | query | No | |
order | query | No | |
search | query | No | |
protocol | query | No | |
tag | query | No | |
unused | query | No | |
trash | query | No | |
page | query | No | |
limit | query | No |
Full parameter schemas
[
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "query",
"name": "group_id",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"unverified"
]
},
{
"type": "string",
"enum": [
"passed"
]
},
{
"type": "string",
"enum": [
"failed"
]
}
]
},
"in": "query",
"name": "check_status",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"dsn"
]
},
{
"type": "string",
"enum": [
"name"
]
},
{
"type": "string",
"enum": [
"created_at"
]
},
{
"type": "string",
"enum": [
"last_check_at"
]
},
{
"type": "string",
"enum": [
"profile_count"
]
}
]
},
"in": "query",
"name": "sort",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"asc"
]
},
{
"type": "string",
"enum": [
"desc"
]
}
]
},
"in": "query",
"name": "order",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 200
},
"in": "query",
"name": "search",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"in": "query",
"name": "protocol",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 50
},
"in": "query",
"name": "tag",
"required": false
},
{
"schema": {
"type": "boolean"
},
"in": "query",
"name": "unused",
"required": false
},
{
"schema": {
"type": "boolean"
},
"in": "query",
"name": "trash",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1
},
"in": "query",
"name": "page",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"in": "query",
"name": "limit",
"required": false
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items",
"total",
"page",
"limit"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"group_id",
"ssh_key_set",
"id",
"compat_proxy_id",
"name",
"protocol",
"host",
"port",
"username",
"password_set",
"change_ip_url",
"change_ip_cooldown_s",
"provider",
"provider_params",
"ip_checker",
"remark",
"tags",
"last_check",
"last_check_at",
"profile_count",
"created_at",
"updated_at",
"row_version",
"deleted_at",
"purge_after"
],
"properties": {
"group_id": {
"type": [
"null",
"string"
]
},
"ssh_key_set": {
"type": "boolean"
},
"id": {
"type": "string"
},
"compat_proxy_id": {
"type": [
"null",
"string"
]
},
"name": {
"type": [
"null",
"string"
]
},
"protocol": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_set": {
"type": "boolean"
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"change_ip_cooldown_s": {
"type": [
"null",
"integer"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"last_check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"last_check_at": {
"type": [
"null",
"integer"
]
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"row_version": {
"type": "integer"
},
"deleted_at": {
"type": [
"null",
"integer"
]
},
"purge_after": {
"type": [
"null",
"integer"
]
}
}
}
},
"total": {
"type": "integer"
},
"page": {
"type": "integer"
},
"limit": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxys auflisten (Passwörter maskiert)",
"tags": [
"Proxys"
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "query",
"name": "group_id",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"unverified"
]
},
{
"type": "string",
"enum": [
"passed"
]
},
{
"type": "string",
"enum": [
"failed"
]
}
]
},
"in": "query",
"name": "check_status",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"dsn"
]
},
{
"type": "string",
"enum": [
"name"
]
},
{
"type": "string",
"enum": [
"created_at"
]
},
{
"type": "string",
"enum": [
"last_check_at"
]
},
{
"type": "string",
"enum": [
"profile_count"
]
}
]
},
"in": "query",
"name": "sort",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"asc"
]
},
{
"type": "string",
"enum": [
"desc"
]
}
]
},
"in": "query",
"name": "order",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 200
},
"in": "query",
"name": "search",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"in": "query",
"name": "protocol",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 50
},
"in": "query",
"name": "tag",
"required": false
},
{
"schema": {
"type": "boolean"
},
"in": "query",
"name": "unused",
"required": false
},
{
"schema": {
"type": "boolean"
},
"in": "query",
"name": "trash",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1
},
"in": "query",
"name": "page",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"in": "query",
"name": "limit",
"required": false
}
],
"x-required-scopes": [
"proxies:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items",
"total",
"page",
"limit"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"group_id",
"ssh_key_set",
"id",
"compat_proxy_id",
"name",
"protocol",
"host",
"port",
"username",
"password_set",
"change_ip_url",
"change_ip_cooldown_s",
"provider",
"provider_params",
"ip_checker",
"remark",
"tags",
"last_check",
"last_check_at",
"profile_count",
"created_at",
"updated_at",
"row_version",
"deleted_at",
"purge_after"
],
"properties": {
"group_id": {
"type": [
"null",
"string"
]
},
"ssh_key_set": {
"type": "boolean"
},
"id": {
"type": "string"
},
"compat_proxy_id": {
"type": [
"null",
"string"
]
},
"name": {
"type": [
"null",
"string"
]
},
"protocol": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_set": {
"type": "boolean"
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"change_ip_cooldown_s": {
"type": [
"null",
"integer"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"last_check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"last_check_at": {
"type": [
"null",
"integer"
]
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"row_version": {
"type": "integer"
},
"deleted_at": {
"type": [
"null",
"integer"
]
},
"purge_after": {
"type": [
"null",
"integer"
]
}
}
}
},
"total": {
"type": "integer"
},
"page": {
"type": "integer"
},
"limit": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies
Proxy anlegen
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"protocol",
"host",
"port"
],
"properties": {
"group_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
},
"ssh_private_key": {
"type": [
"string",
"null"
],
"maxLength": 65536
},
"ssh_key_passphrase": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"name": {
"type": [
"string",
"null"
],
"maxLength": 100
},
"protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"username": {
"type": [
"string",
"null"
],
"maxLength": 512
},
"password": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"change_ip_url": {
"type": [
"string",
"null"
],
"maxLength": 2048
},
"change_ip_cooldown_s": {
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 86400
},
"provider": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"remark": {
"type": [
"string",
"null"
],
"maxLength": 1000
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"maxItems": 30
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"201": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"group_id",
"ssh_key_set",
"id",
"compat_proxy_id",
"name",
"protocol",
"host",
"port",
"username",
"password_set",
"change_ip_url",
"change_ip_cooldown_s",
"provider",
"provider_params",
"ip_checker",
"remark",
"tags",
"last_check",
"last_check_at",
"profile_count",
"created_at",
"updated_at",
"row_version",
"deleted_at",
"purge_after"
],
"properties": {
"group_id": {
"type": [
"null",
"string"
]
},
"ssh_key_set": {
"type": "boolean"
},
"id": {
"type": "string"
},
"compat_proxy_id": {
"type": [
"null",
"string"
]
},
"name": {
"type": [
"null",
"string"
]
},
"protocol": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_set": {
"type": "boolean"
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"change_ip_cooldown_s": {
"type": [
"null",
"integer"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"last_check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"last_check_at": {
"type": [
"null",
"integer"
]
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"row_version": {
"type": "integer"
},
"deleted_at": {
"type": [
"null",
"integer"
]
},
"purge_after": {
"type": [
"null",
"integer"
]
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxy anlegen",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"protocol",
"host",
"port"
],
"properties": {
"group_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
},
"ssh_private_key": {
"type": [
"string",
"null"
],
"maxLength": 65536
},
"ssh_key_passphrase": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"name": {
"type": [
"string",
"null"
],
"maxLength": 100
},
"protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"username": {
"type": [
"string",
"null"
],
"maxLength": 512
},
"password": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"change_ip_url": {
"type": [
"string",
"null"
],
"maxLength": 2048
},
"change_ip_cooldown_s": {
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 86400
},
"provider": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"remark": {
"type": [
"string",
"null"
],
"maxLength": 1000
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"maxItems": 30
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"proxies:write"
],
"responses": {
"201": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"group_id",
"ssh_key_set",
"id",
"compat_proxy_id",
"name",
"protocol",
"host",
"port",
"username",
"password_set",
"change_ip_url",
"change_ip_cooldown_s",
"provider",
"provider_params",
"ip_checker",
"remark",
"tags",
"last_check",
"last_check_at",
"profile_count",
"created_at",
"updated_at",
"row_version",
"deleted_at",
"purge_after"
],
"properties": {
"group_id": {
"type": [
"null",
"string"
]
},
"ssh_key_set": {
"type": "boolean"
},
"id": {
"type": "string"
},
"compat_proxy_id": {
"type": [
"null",
"string"
]
},
"name": {
"type": [
"null",
"string"
]
},
"protocol": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_set": {
"type": "boolean"
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"change_ip_cooldown_s": {
"type": [
"null",
"integer"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"last_check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"last_check_at": {
"type": [
"null",
"integer"
]
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"row_version": {
"type": "integer"
},
"deleted_at": {
"type": [
"null",
"integer"
]
},
"purge_after": {
"type": [
"null",
"integer"
]
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/parse
Proxy-Zeilen erkennen und als Vorschau zurückgeben (ohne Speichern, ohne Passwörter)
Authentication: bearer token
Required route scopes: proxies:read
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 5000000
},
"default_protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"columns": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"lines"
],
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"line",
"status",
"error",
"warnings",
"duplicate_of",
"proxy",
"alternatives"
],
"properties": {
"line": {
"type": "integer"
},
"status": {
"type": "string"
},
"error": {
"type": [
"null",
"string"
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"duplicate_of": {
"type": [
"null",
"string"
]
},
"proxy": {
"anyOf": [
{
"type": "object",
"required": [
"protocol",
"protocol_source",
"host",
"port",
"username",
"password_present",
"name",
"remark",
"change_ip_url",
"provider",
"provider_params",
"pattern"
],
"properties": {
"protocol": {
"type": "string"
},
"protocol_source": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_present": {
"type": "boolean"
},
"name": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"pattern": {
"type": "string"
}
}
},
{
"type": "null"
}
]
},
"alternatives": {
"type": "array",
"items": {
"type": "object",
"required": [
"protocol",
"protocol_source",
"host",
"port",
"username",
"password_present",
"name",
"remark",
"change_ip_url",
"provider",
"provider_params",
"pattern"
],
"properties": {
"protocol": {
"type": "string"
},
"protocol_source": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_present": {
"type": "boolean"
},
"name": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"pattern": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxy-Zeilen erkennen und als Vorschau zurückgeben (ohne Speichern, ohne Passwörter)",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 5000000
},
"default_protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"columns": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"proxies:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"lines"
],
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"line",
"status",
"error",
"warnings",
"duplicate_of",
"proxy",
"alternatives"
],
"properties": {
"line": {
"type": "integer"
},
"status": {
"type": "string"
},
"error": {
"type": [
"null",
"string"
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"duplicate_of": {
"type": [
"null",
"string"
]
},
"proxy": {
"anyOf": [
{
"type": "object",
"required": [
"protocol",
"protocol_source",
"host",
"port",
"username",
"password_present",
"name",
"remark",
"change_ip_url",
"provider",
"provider_params",
"pattern"
],
"properties": {
"protocol": {
"type": "string"
},
"protocol_source": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_present": {
"type": "boolean"
},
"name": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"pattern": {
"type": "string"
}
}
},
{
"type": "null"
}
]
},
"alternatives": {
"type": "array",
"items": {
"type": "object",
"required": [
"protocol",
"protocol_source",
"host",
"port",
"username",
"password_present",
"name",
"remark",
"change_ip_url",
"provider",
"provider_params",
"pattern"
],
"properties": {
"protocol": {
"type": "string"
},
"protocol_source": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_present": {
"type": "boolean"
},
"name": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"pattern": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/import
Proxy-Zeilen importieren; Ergebnis je Zeile, nichts wird still verworfen
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 5000000
},
"default_protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"columns": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"maxItems": 30
},
"group_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
},
"ip_checker": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"skip_duplicates": {
"type": "boolean"
},
"accept_ambiguous": {
"type": "boolean"
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"lines",
"created",
"duplicates",
"ambiguous",
"invalid"
],
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"line",
"status",
"id",
"existing_id",
"error",
"warnings"
],
"properties": {
"line": {
"type": "integer"
},
"status": {
"type": "string"
},
"id": {
"type": [
"null",
"string"
]
},
"existing_id": {
"type": [
"null",
"string"
]
},
"error": {
"type": [
"null",
"string"
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"created": {
"type": "integer"
},
"duplicates": {
"type": "integer"
},
"ambiguous": {
"type": "integer"
},
"invalid": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxy-Zeilen importieren; Ergebnis je Zeile, nichts wird still verworfen",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 5000000
},
"default_protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"columns": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 20
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"maxItems": 30
},
"group_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
},
"ip_checker": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"skip_duplicates": {
"type": "boolean"
},
"accept_ambiguous": {
"type": "boolean"
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"lines",
"created",
"duplicates",
"ambiguous",
"invalid"
],
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"line",
"status",
"id",
"existing_id",
"error",
"warnings"
],
"properties": {
"line": {
"type": "integer"
},
"status": {
"type": "string"
},
"id": {
"type": [
"null",
"string"
]
},
"existing_id": {
"type": [
"null",
"string"
]
},
"error": {
"type": [
"null",
"string"
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"created": {
"type": "integer"
},
"duplicates": {
"type": "integer"
},
"ambiguous": {
"type": "integer"
},
"invalid": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/batch/delete
Proxys in den Papierkorb legen; zugeordnete Profile behalten die Zuordnung oder erhalten einen Ersatz
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
},
"reassign_to": {
"type": "string"
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results",
"succeeded",
"failed"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"id",
"ok"
],
"properties": {
"index": {
"type": "integer"
},
"id": {
"type": [
"null",
"string"
]
},
"ok": {
"type": "boolean"
},
"no": {
"type": "integer"
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": {}
}
}
}
}
}
},
"succeeded": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxys in den Papierkorb legen; zugeordnete Profile behalten die Zuordnung oder erhalten einen Ersatz",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
},
"reassign_to": {
"type": "string"
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results",
"succeeded",
"failed"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"id",
"ok"
],
"properties": {
"index": {
"type": "integer"
},
"id": {
"type": [
"null",
"string"
]
},
"ok": {
"type": "boolean"
},
"no": {
"type": "integer"
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": {}
}
}
}
}
}
},
"succeeded": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/restore
Proxys aus dem Papierkorb wiederherstellen
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results",
"succeeded",
"failed"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"id",
"ok"
],
"properties": {
"index": {
"type": "integer"
},
"id": {
"type": [
"null",
"string"
]
},
"ok": {
"type": "boolean"
},
"no": {
"type": "integer"
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": {}
}
}
}
}
}
},
"succeeded": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxys aus dem Papierkorb wiederherstellen",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results",
"succeeded",
"failed"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"id",
"ok"
],
"properties": {
"index": {
"type": "integer"
},
"id": {
"type": [
"null",
"string"
]
},
"ok": {
"type": "boolean"
},
"no": {
"type": "integer"
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": {}
}
}
}
}
}
},
"succeeded": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/purge
Proxys aus dem Papierkorb sofort endgültig löschen (nur ohne zugeordnete Profile, auch keine im Papierkorb)
Authentication: bearer token
Required route scopes: trash:manage
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results",
"succeeded",
"failed"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"id",
"ok"
],
"properties": {
"index": {
"type": "integer"
},
"id": {
"type": [
"null",
"string"
]
},
"ok": {
"type": "boolean"
},
"no": {
"type": "integer"
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": {}
}
}
}
}
}
},
"succeeded": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxys aus dem Papierkorb sofort endgültig löschen (nur ohne zugeordnete Profile, auch keine im Papierkorb)",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"trash:manage"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results",
"succeeded",
"failed"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"id",
"ok"
],
"properties": {
"index": {
"type": "integer"
},
"id": {
"type": [
"null",
"string"
]
},
"ok": {
"type": "boolean"
},
"no": {
"type": "integer"
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": {}
}
}
}
}
}
},
"succeeded": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}GET /api/v1/proxies/{id}
Proxy abrufen
Authentication: bearer token
Required route scopes: proxies:read
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
id | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"group_id",
"ssh_key_set",
"id",
"compat_proxy_id",
"name",
"protocol",
"host",
"port",
"username",
"password_set",
"change_ip_url",
"change_ip_cooldown_s",
"provider",
"provider_params",
"ip_checker",
"remark",
"tags",
"last_check",
"last_check_at",
"profile_count",
"created_at",
"updated_at",
"row_version",
"deleted_at",
"purge_after"
],
"properties": {
"group_id": {
"type": [
"null",
"string"
]
},
"ssh_key_set": {
"type": "boolean"
},
"id": {
"type": "string"
},
"compat_proxy_id": {
"type": [
"null",
"string"
]
},
"name": {
"type": [
"null",
"string"
]
},
"protocol": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_set": {
"type": "boolean"
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"change_ip_cooldown_s": {
"type": [
"null",
"integer"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"last_check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"last_check_at": {
"type": [
"null",
"integer"
]
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"row_version": {
"type": "integer"
},
"deleted_at": {
"type": [
"null",
"integer"
]
},
"purge_after": {
"type": [
"null",
"integer"
]
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxy abrufen",
"tags": [
"Proxys"
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"proxies:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"group_id",
"ssh_key_set",
"id",
"compat_proxy_id",
"name",
"protocol",
"host",
"port",
"username",
"password_set",
"change_ip_url",
"change_ip_cooldown_s",
"provider",
"provider_params",
"ip_checker",
"remark",
"tags",
"last_check",
"last_check_at",
"profile_count",
"created_at",
"updated_at",
"row_version",
"deleted_at",
"purge_after"
],
"properties": {
"group_id": {
"type": [
"null",
"string"
]
},
"ssh_key_set": {
"type": "boolean"
},
"id": {
"type": "string"
},
"compat_proxy_id": {
"type": [
"null",
"string"
]
},
"name": {
"type": [
"null",
"string"
]
},
"protocol": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_set": {
"type": "boolean"
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"change_ip_cooldown_s": {
"type": [
"null",
"integer"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"last_check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"last_check_at": {
"type": [
"null",
"integer"
]
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"row_version": {
"type": "integer"
},
"deleted_at": {
"type": [
"null",
"integer"
]
},
"purge_after": {
"type": [
"null",
"integer"
]
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}PATCH /api/v1/proxies/{id}
Proxy ändern; password null entfernt das Passwort
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
id | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
]Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"group_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
},
"ssh_private_key": {
"type": [
"string",
"null"
],
"maxLength": 65536
},
"ssh_key_passphrase": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"name": {
"type": [
"string",
"null"
],
"maxLength": 100
},
"protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"username": {
"type": [
"string",
"null"
],
"maxLength": 512
},
"password": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"change_ip_url": {
"type": [
"string",
"null"
],
"maxLength": 2048
},
"change_ip_cooldown_s": {
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 86400
},
"provider": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"remark": {
"type": [
"string",
"null"
],
"maxLength": 1000
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"maxItems": 30
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"group_id",
"ssh_key_set",
"id",
"compat_proxy_id",
"name",
"protocol",
"host",
"port",
"username",
"password_set",
"change_ip_url",
"change_ip_cooldown_s",
"provider",
"provider_params",
"ip_checker",
"remark",
"tags",
"last_check",
"last_check_at",
"profile_count",
"created_at",
"updated_at",
"row_version",
"deleted_at",
"purge_after"
],
"properties": {
"group_id": {
"type": [
"null",
"string"
]
},
"ssh_key_set": {
"type": "boolean"
},
"id": {
"type": "string"
},
"compat_proxy_id": {
"type": [
"null",
"string"
]
},
"name": {
"type": [
"null",
"string"
]
},
"protocol": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_set": {
"type": "boolean"
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"change_ip_cooldown_s": {
"type": [
"null",
"integer"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"last_check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"last_check_at": {
"type": [
"null",
"integer"
]
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"row_version": {
"type": "integer"
},
"deleted_at": {
"type": [
"null",
"integer"
]
},
"purge_after": {
"type": [
"null",
"integer"
]
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxy ändern; password null entfernt das Passwort",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"group_id": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
},
"ssh_private_key": {
"type": [
"string",
"null"
],
"maxLength": 65536
},
"ssh_key_passphrase": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"name": {
"type": [
"string",
"null"
],
"maxLength": 100
},
"protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"username": {
"type": [
"string",
"null"
],
"maxLength": 512
},
"password": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"change_ip_url": {
"type": [
"string",
"null"
],
"maxLength": 2048
},
"change_ip_cooldown_s": {
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 86400
},
"provider": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"remark": {
"type": [
"string",
"null"
],
"maxLength": 1000
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"maxItems": 30
}
},
"additionalProperties": false
}
}
}
},
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"group_id",
"ssh_key_set",
"id",
"compat_proxy_id",
"name",
"protocol",
"host",
"port",
"username",
"password_set",
"change_ip_url",
"change_ip_cooldown_s",
"provider",
"provider_params",
"ip_checker",
"remark",
"tags",
"last_check",
"last_check_at",
"profile_count",
"created_at",
"updated_at",
"row_version",
"deleted_at",
"purge_after"
],
"properties": {
"group_id": {
"type": [
"null",
"string"
]
},
"ssh_key_set": {
"type": "boolean"
},
"id": {
"type": "string"
},
"compat_proxy_id": {
"type": [
"null",
"string"
]
},
"name": {
"type": [
"null",
"string"
]
},
"protocol": {
"type": "string"
},
"host": {
"type": "string"
},
"port": {
"type": "integer"
},
"username": {
"type": [
"null",
"string"
]
},
"password_set": {
"type": "boolean"
},
"change_ip_url": {
"type": [
"null",
"string"
]
},
"change_ip_cooldown_s": {
"type": [
"null",
"integer"
]
},
"provider": {
"type": [
"null",
"string"
]
},
"provider_params": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ip_checker": {
"type": [
"null",
"string"
]
},
"remark": {
"type": [
"null",
"string"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"last_check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"last_check_at": {
"type": [
"null",
"integer"
]
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
},
"row_version": {
"type": "integer"
},
"deleted_at": {
"type": [
"null",
"integer"
]
},
"purge_after": {
"type": [
"null",
"integer"
]
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}DELETE /api/v1/proxies/{id}
Proxy in den Papierkorb legen
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
reassign_to | query | No | |
id | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string"
},
"in": "query",
"name": "reassign_to",
"required": false
},
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results",
"succeeded",
"failed"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"id",
"ok"
],
"properties": {
"index": {
"type": "integer"
},
"id": {
"type": [
"null",
"string"
]
},
"ok": {
"type": "boolean"
},
"no": {
"type": "integer"
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": {}
}
}
}
}
}
},
"succeeded": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxy in den Papierkorb legen",
"tags": [
"Proxys"
],
"parameters": [
{
"schema": {
"type": "string"
},
"in": "query",
"name": "reassign_to",
"required": false
},
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results",
"succeeded",
"failed"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"id",
"ok"
],
"properties": {
"index": {
"type": "integer"
},
"id": {
"type": [
"null",
"string"
]
},
"ok": {
"type": "boolean"
},
"no": {
"type": "integer"
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": {}
}
}
}
}
}
},
"succeeded": {
"type": "integer"
},
"failed": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/{id}/change-ip
Change-IP-URL aufrufen; verify=true misst die Ausgangs-IP davor und danach. changed bestätigt den URL-Aufruf, ip_changed den gemessenen Wechsel (null: nicht bestätigt)
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
verify | query | No | |
id | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "boolean"
},
"in": "query",
"name": "verify",
"required": false
},
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"changed",
"ip_changed",
"before_ip",
"after_ip",
"http_status",
"attempts",
"next_allowed_at"
],
"properties": {
"changed": {
"type": "boolean"
},
"ip_changed": {
"type": [
"null",
"boolean"
]
},
"before_ip": {
"type": [
"null",
"string"
]
},
"after_ip": {
"type": [
"null",
"string"
]
},
"http_status": {
"type": "integer"
},
"attempts": {
"type": "integer"
},
"next_allowed_at": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Change-IP-URL aufrufen; verify=true misst die Ausgangs-IP davor und danach. changed bestätigt den URL-Aufruf, ip_changed den gemessenen Wechsel (null: nicht bestätigt)",
"tags": [
"Proxys"
],
"parameters": [
{
"schema": {
"type": "boolean"
},
"in": "query",
"name": "verify",
"required": false
},
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"changed",
"ip_changed",
"before_ip",
"after_ip",
"http_status",
"attempts",
"next_allowed_at"
],
"properties": {
"changed": {
"type": "boolean"
},
"ip_changed": {
"type": [
"null",
"boolean"
]
},
"before_ip": {
"type": [
"null",
"string"
]
},
"after_ip": {
"type": [
"null",
"string"
]
},
"http_status": {
"type": "integer"
},
"attempts": {
"type": "integer"
},
"next_allowed_at": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}GET /api/v1/proxies/{id}/password
Proxy-Passwort im Klartext abrufen (wird protokolliert)
Authentication: bearer token
Required route scopes: secrets:read
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
id | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"password"
],
"properties": {
"password": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxy-Passwort im Klartext abrufen (wird protokolliert)",
"tags": [
"Proxys"
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"secrets:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"password"
],
"properties": {
"password": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}GET /api/v1/proxies/checkers
Verfügbare IP-Prüfdienste
Authentication: bearer token
Required route scopes: proxies:read
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"ipv6"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"ipv6": {
"type": "boolean"
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Verfügbare IP-Prüfdienste",
"tags": [
"Proxys"
],
"x-required-scopes": [
"proxies:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"ipv6"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"ipv6": {
"type": "boolean"
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/{id}/test
Proxy prüfen: Erreichbarkeit, Exit-IP v4/v6, Standort, Zeitzone, ASN, Latenz; Ergebnis wird gespeichert
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
ip_checker | query | No | |
apply_protocol | query | No | Nur zusammen mit detect_protocol=true: erfolgreich erkanntes HTTP-/HTTPS-/SOCKS5-Protokoll bei unveränderter Proxyversion übernehmen. Prüfergebnis wird dabei nicht gespeichert. |
detect_protocol | query | No | Gespeicherte Zugangsdaten zur HTTP-/HTTPS-/SOCKS5-Erkennung verwenden, ohne Protokoll oder Prüfergebnis zu speichern. |
id | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string",
"maxLength": 32
},
"in": "query",
"name": "ip_checker",
"required": false
},
{
"schema": {
"type": "boolean"
},
"in": "query",
"name": "apply_protocol",
"required": false,
"description": "Nur zusammen mit detect_protocol=true: erfolgreich erkanntes HTTP-/HTTPS-/SOCKS5-Protokoll bei unveränderter Proxyversion übernehmen. Prüfergebnis wird dabei nicht gespeichert."
},
{
"schema": {
"type": "boolean"
},
"in": "query",
"name": "detect_protocol",
"required": false,
"description": "Gespeicherte Zugangsdaten zur HTTP-/HTTPS-/SOCKS5-Erkennung verwenden, ohne Protokoll oder Prüfergebnis zu speichern."
},
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxy prüfen: Erreichbarkeit, Exit-IP v4/v6, Standort, Zeitzone, ASN, Latenz; Ergebnis wird gespeichert",
"tags": [
"Proxys"
],
"parameters": [
{
"schema": {
"type": "string",
"maxLength": 32
},
"in": "query",
"name": "ip_checker",
"required": false
},
{
"schema": {
"type": "boolean"
},
"in": "query",
"name": "apply_protocol",
"required": false,
"description": "Nur zusammen mit detect_protocol=true: erfolgreich erkanntes HTTP-/HTTPS-/SOCKS5-Protokoll bei unveränderter Proxyversion übernehmen. Prüfergebnis wird dabei nicht gespeichert."
},
{
"schema": {
"type": "boolean"
},
"in": "query",
"name": "detect_protocol",
"required": false,
"description": "Gespeicherte Zugangsdaten zur HTTP-/HTTPS-/SOCKS5-Erkennung verwenden, ohne Protokoll oder Prüfergebnis zu speichern."
},
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/batch/test
Mehrere Proxys prüfen (höchstens 5 gleichzeitig)
Authentication: bearer token
Required route scopes: proxies:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"ok",
"check",
"error"
],
"properties": {
"id": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
{
"type": "null"
}
]
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Mehrere Proxys prüfen (höchstens 5 gleichzeitig)",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"proxies:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"ok",
"check",
"error"
],
"properties": {
"id": {
"type": "string"
},
"ok": {
"type": "boolean"
},
"check": {
"anyOf": [
{
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
{
"type": "null"
}
]
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/proxies/test
Proxy-Angaben prüfen, ohne zu speichern; Protokoll optional automatisch erkennen
Authentication: bearer token
Required route scopes: proxies:read
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"host",
"port"
],
"properties": {
"ssh_private_key": {
"type": [
"string",
"null"
],
"maxLength": 65536
},
"ssh_key_passphrase": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"ip_checker": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"detect_protocol": {
"type": "boolean",
"description": "HTTP, HTTPS oder SOCKS5 durch Handshake erkennen; protocol wird zuerst geprüft. Kein Speichern."
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"username": {
"type": [
"string",
"null"
],
"maxLength": 512
},
"password": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"ssh_host_key": {
"type": [
"string",
"null"
],
"pattern": "^SHA256:[A-Za-z0-9+/]{43}$"
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Proxy-Angaben prüfen, ohne zu speichern; Protokoll optional automatisch erkennen",
"tags": [
"Proxys"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"host",
"port"
],
"properties": {
"ssh_private_key": {
"type": [
"string",
"null"
],
"maxLength": 65536
},
"ssh_key_passphrase": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"ip_checker": {
"type": [
"string",
"null"
],
"maxLength": 32
},
"protocol": {
"anyOf": [
{
"type": "string",
"enum": [
"http"
]
},
{
"type": "string",
"enum": [
"https"
]
},
{
"type": "string",
"enum": [
"socks4"
]
},
{
"type": "string",
"enum": [
"socks4a"
]
},
{
"type": "string",
"enum": [
"socks5"
]
},
{
"type": "string",
"enum": [
"socks5h"
]
},
{
"type": "string",
"enum": [
"ssh"
]
}
]
},
"detect_protocol": {
"type": "boolean",
"description": "HTTP, HTTPS oder SOCKS5 durch Handshake erkennen; protocol wird zuerst geprüft. Kein Speichern."
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"username": {
"type": [
"string",
"null"
],
"maxLength": 512
},
"password": {
"type": [
"string",
"null"
],
"maxLength": 1024
},
"ssh_host_key": {
"type": [
"string",
"null"
],
"pattern": "^SHA256:[A-Za-z0-9+/]{43}$"
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"proxies:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ok",
"checked_at",
"error_class",
"error_code",
"protocol_detected",
"ipv4",
"ipv6",
"country",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"accuracy_km",
"timezone",
"utc_offset",
"languages",
"asn",
"as_org",
"latency_ms",
"geo_source",
"duplicate_profiles"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked_at": {
"type": "integer"
},
"error_class": {
"type": [
"null",
"string"
]
},
"error_code": {
"type": [
"null",
"string"
]
},
"protocol_detected": {
"type": [
"null",
"string"
]
},
"ipv4": {
"type": [
"null",
"string"
]
},
"ipv6": {
"type": [
"null",
"string"
]
},
"country": {
"type": [
"null",
"string"
]
},
"region": {
"type": [
"null",
"string"
]
},
"city": {
"type": [
"null",
"string"
]
},
"postal_code": {
"type": [
"null",
"string"
]
},
"latitude": {
"type": [
"null",
"number"
]
},
"longitude": {
"type": [
"null",
"number"
]
},
"accuracy_km": {
"type": [
"null",
"number"
]
},
"timezone": {
"type": [
"null",
"string"
]
},
"utc_offset": {
"type": [
"null",
"string"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"asn": {
"type": [
"null",
"integer"
]
},
"as_org": {
"type": [
"null",
"string"
]
},
"latency_ms": {
"type": "object",
"required": [
"tcp",
"handshake",
"first_byte"
],
"properties": {
"tcp": {
"type": [
"null",
"number"
]
},
"handshake": {
"type": [
"null",
"number"
]
},
"first_byte": {
"type": [
"null",
"number"
]
}
}
},
"geo_source": {
"type": [
"null",
"string"
]
},
"duplicate_profiles": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}GET /api/v1/geo
Zustand der lokalen IP-Geo-Datenbank
Authentication: bearer token
Required route scopes: proxies:read
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"source",
"loaded",
"database_type",
"city",
"asn",
"attribution",
"timezone_table"
],
"properties": {
"source": {
"type": "string"
},
"loaded": {
"type": "boolean"
},
"database_type": {
"type": [
"null",
"string"
]
},
"city": {
"type": "object",
"required": [
"file",
"present",
"size_bytes",
"modified_at"
],
"properties": {
"file": {
"type": "string"
},
"present": {
"type": "boolean"
},
"size_bytes": {
"type": [
"null",
"integer"
]
},
"modified_at": {
"type": [
"null",
"integer"
]
}
}
},
"asn": {
"type": "object",
"required": [
"file",
"present",
"size_bytes",
"modified_at"
],
"properties": {
"file": {
"type": "string"
},
"present": {
"type": "boolean"
},
"size_bytes": {
"type": [
"null",
"integer"
]
},
"modified_at": {
"type": [
"null",
"integer"
]
}
}
},
"attribution": {
"type": "string"
},
"timezone_table": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Zustand der lokalen IP-Geo-Datenbank",
"tags": [
"Proxys"
],
"x-required-scopes": [
"proxies:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"source",
"loaded",
"database_type",
"city",
"asn",
"attribution",
"timezone_table"
],
"properties": {
"source": {
"type": "string"
},
"loaded": {
"type": "boolean"
},
"database_type": {
"type": [
"null",
"string"
]
},
"city": {
"type": "object",
"required": [
"file",
"present",
"size_bytes",
"modified_at"
],
"properties": {
"file": {
"type": "string"
},
"present": {
"type": "boolean"
},
"size_bytes": {
"type": [
"null",
"integer"
]
},
"modified_at": {
"type": [
"null",
"integer"
]
}
}
},
"asn": {
"type": "object",
"required": [
"file",
"present",
"size_bytes",
"modified_at"
],
"properties": {
"file": {
"type": "string"
},
"present": {
"type": "boolean"
},
"size_bytes": {
"type": [
"null",
"integer"
]
},
"modified_at": {
"type": [
"null",
"integer"
]
}
}
},
"attribution": {
"type": "string"
},
"timezone_table": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}POST /api/v1/geo/update
IP-Geo-Datenbank (DB-IP Lite, CC BY 4.0) herunterladen oder aktualisieren
Authentication: bearer token
Required route scopes: settings:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
No path or query parameters declared.
No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"source",
"loaded",
"database_type",
"city",
"asn",
"attribution",
"timezone_table"
],
"properties": {
"source": {
"type": "string"
},
"loaded": {
"type": "boolean"
},
"database_type": {
"type": [
"null",
"string"
]
},
"city": {
"type": "object",
"required": [
"file",
"present",
"size_bytes",
"modified_at"
],
"properties": {
"file": {
"type": "string"
},
"present": {
"type": "boolean"
},
"size_bytes": {
"type": [
"null",
"integer"
]
},
"modified_at": {
"type": [
"null",
"integer"
]
}
}
},
"asn": {
"type": "object",
"required": [
"file",
"present",
"size_bytes",
"modified_at"
],
"properties": {
"file": {
"type": "string"
},
"present": {
"type": "boolean"
},
"size_bytes": {
"type": [
"null",
"integer"
]
},
"modified_at": {
"type": [
"null",
"integer"
]
}
}
},
"attribution": {
"type": "string"
},
"timezone_table": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "IP-Geo-Datenbank (DB-IP Lite, CC BY 4.0) herunterladen oder aktualisieren",
"tags": [
"Proxys"
],
"x-required-scopes": [
"settings:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"source",
"loaded",
"database_type",
"city",
"asn",
"attribution",
"timezone_table"
],
"properties": {
"source": {
"type": "string"
},
"loaded": {
"type": "boolean"
},
"database_type": {
"type": [
"null",
"string"
]
},
"city": {
"type": "object",
"required": [
"file",
"present",
"size_bytes",
"modified_at"
],
"properties": {
"file": {
"type": "string"
},
"present": {
"type": "boolean"
},
"size_bytes": {
"type": [
"null",
"integer"
]
},
"modified_at": {
"type": [
"null",
"integer"
]
}
}
},
"asn": {
"type": "object",
"required": [
"file",
"present",
"size_bytes",
"modified_at"
],
"properties": {
"file": {
"type": "string"
},
"present": {
"type": "boolean"
},
"size_bytes": {
"type": [
"null",
"integer"
]
},
"modified_at": {
"type": [
"null",
"integer"
]
}
}
},
"attribution": {
"type": "string"
},
"timezone_table": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}