# The workflow vocabulary

Everything a workflow may be BUILT out of: every action a step can call, every event a trigger can listen for, the fields those events carry, the presets, the step kinds, the trigger kinds (event, schedule, manual) and the comparison operators. Read this before writing or validating a definition — a step naming an action that is not here is exactly what `post_workflows_validate` refuses. It is the vocabulary, not a workspace's data, so every seat sees the same one; for the rules this workspace has actually written, `get_workflows`.

Access class: `workspace`.

## Endpoint

`GET /v1/workflows/catalog`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| body | query | null | No |
| params | query | object | No |
| query | query | object | No |

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
