---
title: "FindServer"
method: POST
path: "/v2/discovery/findserver"
tags: ["Discovery"]
---

# FindServer

`POST /v2/discovery/findserver`

Find servers matching the specified endpoint query spec.

## Request body

- ServerEndpointQueryModel — Endpoint model
  - `discoveryUrl` string — Discovery url to use to query
  - `url` string — Endpoint url that should match the found endpoint
  - `securityMode` 'Best' | 'Sign' | 'SignAndEncrypt' | 'None' | 'NotNone' — Specifies the security mode for OPC UA endpoint connections. Determines how messages are protected during transmission between the Publisher and OPC UA servers. Proper security mode selection is crucial for protecting sensitive data and credentials.
  - `securityPolicy` string — Endpoint must support this Security policy.
  - `certificate` string — Endpoint must match with this certificate thumbprint

## Response `200`

The operation was successful or the response payload contains relevant error information.

- ApplicationRegistrationModel — Application with optional list of endpoints
  - `application` ApplicationInfoModel, required — Application info model
    - `applicationId` string, required — Unique application id
    - `applicationType` 'Server' | 'Client' | 'ClientAndServer' | 'DiscoveryServer' — Application type
    - `applicationUri` string, required — Unique application uri
    - `productUri` string — Product uri
    - `applicationName` string — Default name of application
    - `locale` string — Locale of default name - defaults to "en"
    - `localizedNames` object — Localized Names of application keyed on locale
    - `capabilities` string[] — The capabilities advertised by the server.
    - `discoveryUrls` string[] — Discovery urls of the server
    - `discoveryProfileUri` string — Discovery profile uri
    - `gatewayServerUri` string — Gateway server uri
    - `hostAddresses` string[] — Host addresses of server application or null
    - `siteId` string — Site of the application
    - `discovererId` string — Discoverer that registered the application
    - `notSeenSince` string, date-time — Last time application was seen if not visible
    - `created` OperationContextModel — Operation log model
      - `AuthorityId` string — User
      - `Time` string, date-time — Operation time
    - `updated` OperationContextModel — Operation log model
      - `AuthorityId` string — User
      - `Time` string, date-time — Operation time
  - `endpoints` EndpointRegistrationModel[] — List of endpoints for it
    - `id` string, required — Endpoint identifier which is hashed from the supervisor, site and url.
    - `endpointUrl` string — Original endpoint url of the endpoint
    - `siteId` string — Registered site of the endpoint
    - `discovererId` string — Entity that registered and can access the endpoint
    - `endpoint` EndpointModel — Endpoint model
      - `url` string, required — Endpoint url to use to connect with
      - `alternativeUrls` string[] — Alternative endpoint urls that can be used for accessing and validating the server
      - `securityMode` 'Best' | 'Sign' | 'SignAndEncrypt' | 'None' | 'NotNone' — Specifies the security mode for OPC UA endpoint connections. Determines how messages are protected during transmission between the Publisher and OPC UA servers. Proper security mode selection is crucial for protecting sensitive data and credentials.
      - `securityPolicy` string — Security policy uri to use for communication. default to best.
      - `certificate` string — Endpoint certificate thumbprint
    - `securityLevel` integer — Security level of the endpoint
    - `authenticationMethods` AuthenticationMethodModel[] — Supported authentication methods that can be selected to obtain a credential and used to interact with the endpoint.
      - `id` string, required — Method id
      - `credentialType` 'None' | 'UserName' | 'X509Certificate' | 'JwtToken' — Type of credentials to use for authentication
      - `securityPolicy` string — Security policy to use when passing credential.
      - `configuration` object — Method specific configuration

## Other responses

- `400` — The passed in information is invalid
- `408` — The operation timed out.
- `500` — An unexpected error occurred

---

[API](https://skmtc.net/azure/apis/opcpublisher.md) · [All operations](https://skmtc.net/azure/apis/opcpublisher/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/azure/opcpublisher/revisions/8eac19a554d6/schema)
