# WorkflowNode

Type: object

## Properties

## Discriminator

Use `type` with one of `start`, `http_request`, `end`.

## Variants

### StartWorkflowNode

Discriminator value: `start`

Required fields: `id`, `type`, `data`

- `id` (string, required)
- `type` (enum, required)
- `data` (StartNodeData, required)

```json
{
  "id": "string",
  "type": "start",
  "data": {
    "label": "string",
    "triggerConfig": {
      "type": "contact_created",
      "conditions": {}
    },
    "entryMode": "once"
  }
}
```

### HTTPRequestWorkflowNode

Discriminator value: `http_request`

Required fields: `id`, `type`, `data`

- `id` (string, required)
- `type` (enum, required)
- `data` (HTTPRequestNodeData, required)

```json
{
  "id": "string",
  "type": "http_request",
  "data": {
    "label": "string",
    "method": "GET",
    "url": "https://example.com",
    "headers": {},
    "bodyType": "json",
    "body": {},
    "timeoutSeconds": 15
  }
}
```

### GenericWorkflowNode

Discriminator value: `end`

Required fields: `id`, `type`, `data`

- `id` (string, required)
- `type` (enum, required)
- `data` (GenericNodeData, required)

```json
{
  "id": "string",
  "type": "end",
  "data": {}
}
```

