curl --request GET \
--url 'https://api.hopae.com/connect/v2/connections?status=enabled' \
--user '{appId}:{appSecret}'
[
{
"connectionInstanceId": "conn_01J8XK2P4M9QR3TV",
"connectionId": "smart-id",
"provider": {
"id": "smart-id",
"name": "Smart-ID",
"logoUrl": "https://static.hopae.com/images/wallets/smartid.png"
},
"credential": {
"id": "smart-id",
"name": "Smart-ID",
"logoUrl": "https://static.hopae.com/images/wallets/smartid.png",
"countries": [
"ee",
"lt",
"lv",
"be"
],
"loa": [
4
],
"types": [
1
],
"verificationModel": "disclosure",
"displayName": "Smart-ID"
},
"flowTypes": [
"push"
],
"userInputSchema": {
"fields": {
"registrationId": {
"required": true,
"hint": "Smart-ID registrationId must be at least 8 characters"
}
}
},
"availableClaims": [
"name",
"given_name",
"family_name",
"birthdate",
"nationality",
"personal_code",
"source_id"
],
"sourceIdBackedBy": {
"primary": [
"personal_code"
],
"fallback": []
},
"connectionClaims": [
"given_name",
"family_name",
"birthdate"
],
"enabled": true
}
]
Verifications
Get Connections
List the connections activated for your app, with everything you need to start a verification against each one.
GET
/
connections
curl --request GET \
--url 'https://api.hopae.com/connect/v2/connections?status=enabled' \
--user '{appId}:{appSecret}'
[
{
"connectionInstanceId": "conn_01J8XK2P4M9QR3TV",
"connectionId": "smart-id",
"provider": {
"id": "smart-id",
"name": "Smart-ID",
"logoUrl": "https://static.hopae.com/images/wallets/smartid.png"
},
"credential": {
"id": "smart-id",
"name": "Smart-ID",
"logoUrl": "https://static.hopae.com/images/wallets/smartid.png",
"countries": [
"ee",
"lt",
"lv",
"be"
],
"loa": [
4
],
"types": [
1
],
"verificationModel": "disclosure",
"displayName": "Smart-ID"
},
"flowTypes": [
"push"
],
"userInputSchema": {
"fields": {
"registrationId": {
"required": true,
"hint": "Smart-ID registrationId must be at least 8 characters"
}
}
},
"availableClaims": [
"name",
"given_name",
"family_name",
"birthdate",
"nationality",
"personal_code",
"source_id"
],
"sourceIdBackedBy": {
"primary": [
"personal_code"
],
"fallback": []
},
"connectionClaims": [
"given_name",
"family_name",
"birthdate"
],
"enabled": true
}
]
Returns the connections that are activated for your app. Each item carries the connection’s catalog
connectionId and its connectionInstanceId (either one starts a verification with Create Verification), the connection’s userInputSchema, the claims it can return, and whether it is enabled in the resolved workflow.
Only activated connections appear here. A connection that is
requested, processing, or rejected in the Console is not listed. Activation happens in the Console under Configuration → Connections. See Connection Activation.Headers
string
required
Basic <base64(appId:appSecret)>. See Authentication.Query Parameters
string
The workflow whose enabled set and claim curation apply. Defaults to the app’s default workflow. An unknown id returns
404 RESOURCE_NOT_FOUND. There is no silent fallback.string
default:"all"
all lists every activated connection with its enabled flag. enabled returns only the connections that can be started in the resolved workflow, exactly what POST /verifications will accept.Response
Returns an array of connection objects.string
required
Your app’s activated instance of this connection. Format
conn_… (connections activated before August 2026 carry cred_…). Accepted by Create Verification as an alternative to connectionId. Also reported as provenance._metadata.connection_instance_id in userinfo.string
required
The catalog connection id (for example
smart-id, cz-bankid-identify, google-wallet-us-mdl). This is the id you pass to Create Verification and to ui_connection_id on OIDC. Human-readable but opaque. Read provider.id and credential.id instead of parsing it.object
required
Catalog provider with required
id, name, and logoUrl. Use provider.id as the providerId start key.object
required
Catalog credential with required
id, name, logoUrl, countries (lowercase ISO country codes), loa (numeric assurance levels), types (presentation types 1, 2, 3), and verificationModel (disclosure or match).Optional fields: displayName, displayGroupId, and matchGranularity (per_field or aggregate). Use credential.displayName ?? credential.name for the label, and credential.displayGroupId ?? connectionId for the display group. Use credential.id with providerId to select a specific credential.string[]
required
Supported delivery mechanics, primary first:
redirect, qr, push, dc, or query. See Flow Types.object
The
userInput fields this connection needs at creation time. Absent when the connection needs no input. See User Input.Show fields
Show fields
object
A map of field name → rule. Each rule may carry
type (text, password, image, select, or date, omitted for plain text), required, pattern, enum (static options for select), optionsUrl (dynamic options), and hint.string[]
required
Every claim this connection can return for your app. Includes
source_id when the connection can derive a stable per-person identifier.object
Present only when
availableClaims contains source_id. primary lists the claims Hopae requests to derive source_id. fallback lists the claims tried only when a primary value is absent. Both empty means source_id is derived from protocol data and nothing extra is requested.string[]
required
The claims the resolved workflow requests specifically for this connection (the workflow’s Claims tab in the Console). Empty when the workflow does not curate this connection.
boolean
required
Whether the resolved workflow enables this connection. A connection listed with
enabled: false is activated for the app but cannot be started in that workflow. POST /verifications answers 403 PROVIDER_DISABLED_IN_WORKFLOW.curl --request GET \
--url 'https://api.hopae.com/connect/v2/connections?status=enabled' \
--user '{appId}:{appSecret}'
[
{
"connectionInstanceId": "conn_01J8XK2P4M9QR3TV",
"connectionId": "smart-id",
"provider": {
"id": "smart-id",
"name": "Smart-ID",
"logoUrl": "https://static.hopae.com/images/wallets/smartid.png"
},
"credential": {
"id": "smart-id",
"name": "Smart-ID",
"logoUrl": "https://static.hopae.com/images/wallets/smartid.png",
"countries": [
"ee",
"lt",
"lv",
"be"
],
"loa": [
4
],
"types": [
1
],
"verificationModel": "disclosure",
"displayName": "Smart-ID"
},
"flowTypes": [
"push"
],
"userInputSchema": {
"fields": {
"registrationId": {
"required": true,
"hint": "Smart-ID registrationId must be at least 8 characters"
}
}
},
"availableClaims": [
"name",
"given_name",
"family_name",
"birthdate",
"nationality",
"personal_code",
"source_id"
],
"sourceIdBackedBy": {
"primary": [
"personal_code"
],
"fallback": []
},
"connectionClaims": [
"given_name",
"family_name",
"birthdate"
],
"enabled": true
}
]
provider, credential, flowTypes, and userInputSchema are read live from the catalog. availableClaims belongs to your activated instance. connectionClaims and enabled come from the resolved workflow. Refresh cached lists when configuration or catalog data changes.Authorizations
Basic base64(appId:appSecret). See Authentication.
Query Parameters
Workflow to resolve against. Defaults to the app's default workflow. An unknown id returns 404 RESOURCE_NOT_FOUND.
enabled returns only connections the workflow can start.
Available options:
all, enabled Response
Connections.
Your app's activated instance: conn_…, or cred_… for older instances.
Opaque catalog connection id. Use provider.id and credential.id instead of parsing it.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Supported flows, primary first.
Available options:
redirect, qr, push, dc, query Whether the resolved workflow enables this connection.
Fields to send as userInput. Absent when no input is needed.
Show child attributes
Show child attributes

