# Judge (/docs/api/core/interfaces/Judge)



```ts
Judge<Q>(
   record, 
   recipe, 
   callOptions?
): Promise<Decision<Q>>;
```

## Type Parameters [#type-parameters]

| Type Parameter                                                   |
| ---------------------------------------------------------------- |
| `Q` *extends* [`Questions`](/docs/api/core/interfaces/Questions) |

## Parameters [#parameters]

| Parameter      | Type                                                             |
| -------------- | ---------------------------------------------------------------- |
| `record`       | [`SiftlineRecord`](/docs/api/core/interfaces/SiftlineRecord)     |
| `recipe`       | [`Recipe`](/docs/api/core/type-aliases/Recipe)\<`Q`>             |
| `callOptions?` | [`JudgeCallOptions`](/docs/api/core/interfaces/JudgeCallOptions) |

## Returns [#returns]

`Promise`\<[`Decision`](/docs/api/core/interfaces/Decision)\<`Q`>>
