Skip to main content
POST
/
apps
/
{client_id}
/
workflows
curl -X POST \
  -H "Authorization: Bearer sk_workspace_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "KYC Premium",
    "entryNodeId": "nd_req",
    "nodes": [
      { "id": "nd_req", "type": "request", "next": "nd_verify" },
      { "id": "nd_verify", "type": "verification", "next": "nd_resp", "config": { "channel": "oidc", "claims": ["name", "birthdate"] } },
      { "id": "nd_resp", "type": "response" }
    ]
  }' \
  "https://sandbox.api.hopae.com/connect/v1/apps/abc123/workflows"
{
  "workflowId": "wf_abc123",
  "name": "KYC Premium",
  "entryNodeId": "nd_req",
  "nodes": [
    { "id": "nd_req", "type": "request", "next": "nd_verify" },
    { "id": "nd_verify", "type": "verification", "next": "nd_resp", "config": { "channel": "oidc", "claims": ["name", "birthdate"] } },
    { "id": "nd_resp", "type": "response" }
  ],
  "createdAt": "2025-01-15T10:00:00.000Z",
  "updatedAt": "2025-01-15T10:00:00.000Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.hopae.com/llms.txt

Use this file to discover all available pages before exploring further.

Create a new workflow. Provider keys referenced in VERIFICATION nodes must exist in app.providers. Maximum 100 workflows per app.

Request

Authorization
string
required
Bearer <API_KEY> from Console > Developers > Workspace API Keys.
Content-Type
string
application/json
Idempotency-Key
string
Optional client-generated string (max 255 chars) to safely retry without creating duplicates. Scoped per workspace. A key is valid for 24 hours. If the same key is replayed with an identical body, the original response is returned with an Idempotency-Replayed: true header. Reusing the same key with a different body returns 409 IDEMPOTENCY_KEY_CONFLICT.

Path parameters

client_id
string
required
Client identifier of the app.

Request body

name
string
required
Display name for the workflow.
entryNodeId
string
required
ID of the entry node (must exist in nodes).
nodes
object[]
required
Array of flow nodes. Each node has:

Response

workflowId
string
Auto-generated workflow identifier.
name
string
Workflow name.
entryNodeId
string
Entry node ID.
nodes
object[]
Array of flow nodes.
createdAt
string
ISO 8601 timestamp.
updatedAt
string
ISO 8601 timestamp.
The response includes a Location header pointing at the newly-created resource (e.g., /connect/v1/apps/{clientId}/workflows/wf_abc123).
curl -X POST \
  -H "Authorization: Bearer sk_workspace_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "KYC Premium",
    "entryNodeId": "nd_req",
    "nodes": [
      { "id": "nd_req", "type": "request", "next": "nd_verify" },
      { "id": "nd_verify", "type": "verification", "next": "nd_resp", "config": { "channel": "oidc", "claims": ["name", "birthdate"] } },
      { "id": "nd_resp", "type": "response" }
    ]
  }' \
  "https://sandbox.api.hopae.com/connect/v1/apps/abc123/workflows"
{
  "workflowId": "wf_abc123",
  "name": "KYC Premium",
  "entryNodeId": "nd_req",
  "nodes": [
    { "id": "nd_req", "type": "request", "next": "nd_verify" },
    { "id": "nd_verify", "type": "verification", "next": "nd_resp", "config": { "channel": "oidc", "claims": ["name", "birthdate"] } },
    { "id": "nd_resp", "type": "response" }
  ],
  "createdAt": "2025-01-15T10:00:00.000Z",
  "updatedAt": "2025-01-15T10:00:00.000Z"
}