---
title: "Tests the given proxy connection and returns every individual test step together with an overall summary. The summary is 'success' when every step passes, 'partial_success' when the website could be reached through at least one of IPv4, IPv6 or DNS name and the IP location lookup also succeeded, otherwise 'failure'."
method: POST
path: "/general/test-proxy"
tags: ["General"]
---

# Tests the given proxy connection and returns every individual test step together with an overall summary. The summary is 'success' when every step passes, 'partial_success' when the website could be reached through at least one of IPv4, IPv6 or DNS name and the IP location lookup also succeeded, otherwise 'failure'.

`POST /general/test-proxy`

## Request

- Base URL: `http://localhost:5050`
- URL: `http://localhost:5050/general/test-proxy`
- Auth: none declared
- TypeScript: <https://skmtc.dev/kameleo-io/apis/kameleo-local-api/docs/general/test-proxy/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- TestProxyRequest
  - `proxy` ProxyChoice, required
    - `value` 'none' | 'http' | 'socks5' | 'ssh', required: Proxy connection settings of the profiles. Possible values: 'none': Direct connection without any proxy. 'http': Use a HTTP proxy for upstream communication. 'socks5': Use a SOCKS5 proxy for upstream communication. 'ssh': Use an SSH connection for upstream communication. Basically a SOCKS5 proxy created at the given SSH host.
    - `extra` Server: Represents a server connection. It can be used as a proxy server connection as well.
      - `host` string, required: Gets or sets the hostname where the service is provided from.
      - `port` integer, required: Gets or sets the port where the service is provided from.
      - `id` string, nullable: Gets or sets the identity information provided for the service. This could be a custom id or username or anything which identifies a resource on the remote service. Use it as a proxy username. This field is optional.
      - `secret` string, nullable: Gets or sets the shared secret between the client and the service provider. Use it as a proxy password. This field is optional.

## Response `200`

OK.

- TestProxyResponse
  - `result` 'success' | 'partial_success' | 'failure', required: Summarizes the overall outcome of a proxy connectivity test. Possible values: 'success': Every test step passed. 'partial_success': The website could be reached through at least one of IPv4, IPv6 or DNS name, and the IP location lookup succeeded. 'failure': None of the connectivity checks succeeded.
  - `steps` ProxyTestStepResponse[], required: A list containing each individual test step performed while testing the proxy connection.
    - `step` 'ssh_connection' | 'direct_ping' | 'direct_https' | 'proxy_ipv4' | 'proxy_ipv6' | 'proxy_website' | 'proxy_location', required
    - `name` string, required: The name of the executed test case.
    - `successful` boolean, required: Whether the test was successful or not.
    - `comment` string, nullable: Any additional details about the test case, such as error messages.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `503`: The proxy connection failed.
- `default`: Error

## Changes

- **2026-09-28** `92359c8bd414`: 2 breaking
  - the response property `steps/items/comment` became nullable for the status `200`
  - the response property `steps/items/comment` became optional for the status `200`
- **2026-08-31** `576e5f3f4e3e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/kameleo-io/apis/kameleo-local-api/changes/general/test-proxy/post.md)

---

[API](https://skmtc.dev/kameleo-io/apis/kameleo-local-api.md) - [All operations](https://skmtc.dev/kameleo-io/apis/kameleo-local-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kameleo-io/apis/kameleo-local-api/revisions/d3225562612a?raw)
