curl -H "Authorization: Bearer sk_workspace_test_..." \
"https://sandbox.api.hopae.com/connect/v1/apps/abc123/workflows/node-types"
[
{
"type": "request",
"label": "Request",
"description": "Workflow entry point",
"fields": []
},
{
"type": "verification",
"label": "Verification",
"description": "Identity verification step",
"fields": [
{ "name": "channel", "type": "enum", "required": true, "description": "Access channel: OIDC flow (frontend) or direct API", "enumValues": ["oidc", "api"] },
{ "name": "claims", "type": "string[]", "required": true, "description": "Requested identity claims (e.g., name, birthdate)" },
{ "name": "mode", "type": "enum", "required": false, "description": "Verification mode", "enumValues": ["pii", "age_verification"] },
{ "name": "branding", "type": "object", "required": false, "description": "Branding override ({ name, logo, useAppBranding }). useAppBranding: true inherits the app-level name/logo (defaulted to true at workflow creation); when false or unset, this node's name/logo apply" },
{ "name": "providers", "type": "object", "required": false, "description": "Per-provider overrides (opt-out model)" }
]
},
{
"type": "check-claim",
"label": "Check Claim",
"description": "Checks if a specific claim exists in the verification output",
"fields": [
{ "name": "claimChecks", "type": "object[]", "required": true, "description": "Array of { source: \"user\", field: string } claims to check" }
]
},
{
"type": "response",
"label": "Response",
"description": "Terminal node — finalizes flow result",
"fields": []
}
]
Workflows
Get Node Types
Get all available workflow node types with their fields.
GET
/
apps
/
{client_id}
/
workflows
/
node-types
curl -H "Authorization: Bearer sk_workspace_test_..." \
"https://sandbox.api.hopae.com/connect/v1/apps/abc123/workflows/node-types"
[
{
"type": "request",
"label": "Request",
"description": "Workflow entry point",
"fields": []
},
{
"type": "verification",
"label": "Verification",
"description": "Identity verification step",
"fields": [
{ "name": "channel", "type": "enum", "required": true, "description": "Access channel: OIDC flow (frontend) or direct API", "enumValues": ["oidc", "api"] },
{ "name": "claims", "type": "string[]", "required": true, "description": "Requested identity claims (e.g., name, birthdate)" },
{ "name": "mode", "type": "enum", "required": false, "description": "Verification mode", "enumValues": ["pii", "age_verification"] },
{ "name": "branding", "type": "object", "required": false, "description": "Branding override ({ name, logo, useAppBranding }). useAppBranding: true inherits the app-level name/logo (defaulted to true at workflow creation); when false or unset, this node's name/logo apply" },
{ "name": "providers", "type": "object", "required": false, "description": "Per-provider overrides (opt-out model)" }
]
},
{
"type": "check-claim",
"label": "Check Claim",
"description": "Checks if a specific claim exists in the verification output",
"fields": [
{ "name": "claimChecks", "type": "object[]", "required": true, "description": "Array of { source: \"user\", field: string } claims to check" }
]
},
{
"type": "response",
"label": "Response",
"description": "Terminal node — finalizes flow result",
"fields": []
}
]
Returns the full catalog of node types that can be used when building workflows.
Request
Bearer <API_KEY> from Console > Developers > Workspace API Keys.Path parameters
Client identifier of the app.
Response
Returns an array of node type definitions.Node type identifier:
request, verification, check-min-loa, check-claim, evaluate, if, response.Human-readable name.
What this node does.
curl -H "Authorization: Bearer sk_workspace_test_..." \
"https://sandbox.api.hopae.com/connect/v1/apps/abc123/workflows/node-types"
[
{
"type": "request",
"label": "Request",
"description": "Workflow entry point",
"fields": []
},
{
"type": "verification",
"label": "Verification",
"description": "Identity verification step",
"fields": [
{ "name": "channel", "type": "enum", "required": true, "description": "Access channel: OIDC flow (frontend) or direct API", "enumValues": ["oidc", "api"] },
{ "name": "claims", "type": "string[]", "required": true, "description": "Requested identity claims (e.g., name, birthdate)" },
{ "name": "mode", "type": "enum", "required": false, "description": "Verification mode", "enumValues": ["pii", "age_verification"] },
{ "name": "branding", "type": "object", "required": false, "description": "Branding override ({ name, logo, useAppBranding }). useAppBranding: true inherits the app-level name/logo (defaulted to true at workflow creation); when false or unset, this node's name/logo apply" },
{ "name": "providers", "type": "object", "required": false, "description": "Per-provider overrides (opt-out model)" }
]
},
{
"type": "check-claim",
"label": "Check Claim",
"description": "Checks if a specific claim exists in the verification output",
"fields": [
{ "name": "claimChecks", "type": "object[]", "required": true, "description": "Array of { source: \"user\", field: string } claims to check" }
]
},
{
"type": "response",
"label": "Response",
"description": "Terminal node — finalizes flow result",
"fields": []
}
]
⌘I

