# Check connectivity to an SVD endpoint The Engine relays the check to the Video Intelligence Service, which owns the gRPC client: the channel is opened the way the analyzer would open it (plaintext, TLS or mutual TLS), then one detection call with an empty body tells whether a Synthetic Video Detector service answered and took the credentials. Unreachable and rejected are results, not errors; the response is a 200 either way. A 502 means the Video Intelligence Service itself did not answer. Endpoint: POST /probes/svd-endpoint Version: 2.0.0 Security: engineBasic ## Request fields (application/json): - `address` (string,null) gRPC host:port; absent or null uses the reference's effective address, and then its stored credentials unless explicit ones are given. When present, the reference's stored credentials are not used. - `tls` (object,null) Null auto-detects (TLS on port 443 or when material is set). - `tls.enabled` (boolean,null) Force TLS on or off; null auto-detects from the port and configured material. - `tls.ca_cert` (string,null) Path to the CA certificate on the VIS host, not the certificate itself (e.g. /certs/ca-cert.pem). Needed when the endpoint presents a private-CA certificate. - `tls.client_cert` (string,null) Path to the client certificate on the VIS host, for mutual TLS. Set it together with client_key; one without the other does not authenticate. - `tls.client_key` (string,null) Never echoed by a read. On a write: absent or null keeps the stored value, an empty string clears it. - `tls.client_key_secret` (string,null) Names a configured secret to use as the client key, resolved when the endpoint is used, so a rotation applies without a config write. Echoed by reads — a name is not a secret. Mutually exclusive with client_key in one write (400); setting either form clears the other stored one. - `api_key` (string,null) - `function_id` (string,null) - `stream_group_config` (string,null) A stored stream group config by name, whose effective SVD endpoint is the probe target: a synthetic config's endpoint. - `application` (string,null) - `stream` (string,null) - `stage` (string,null) A stage of the chain config stream_group_config names, by name: the probe targets that stage's stored address and credentials, each member it leaves blank inherited from the default config's synthetic baseline. Valid only for a chain config's synthetic stage; detector_type, when given, must match the stage's type. Anything else is a 422 whose detail starts with the offending field. ## Response 200 fields (application/json): - `reachable` (boolean, required) A gRPC server answered at the address over the chosen transport. - `accepted` (boolean, required) A Synthetic Video Detector service answered and took the credentials. - `code` (string,null) The gRPC status the probe call ended with; null when no channel came up. - `error` (string,null) Why the probe fell short; null when the endpoint accepted it. ## Response default fields (application/problem+json): - `type` (string) URI identifying the problem type. - `title` (string, required) Short, human-readable summary of the problem type. - `status` (integer, required) The HTTP status code, repeated from the response line. - `detail` (string) Human-readable explanation specific to this occurrence. - `instance` (string) URI identifying this specific occurrence of the problem. - `cause` (string) Why a VOD resume was refused, on a resume's 409 only: credentials_required — resume again with the detector and its credentials in the body; config_mismatch — the body asks for a configuration the job cannot take, so correct the request; config_drift — the source file or the config the job ran with has changed since, so the job cannot be resumed and must be submitted afresh. Enum: "credentials_required", "config_mismatch", "config_drift"