# SignalsResource

Canonical page: https://docs.ovok.com/java-sdk/reference/signals-resource

```java
public final class SignalsResource
```

Enables Signals for patients and repairs undeliverable Signals config. Get it from [`Ovok.signals()`](/java-sdk/reference/ovok#signals).

## Methods [#methods]

### undeliverable [#undeliverable]

```java
public SignalsResource.Undeliverable undeliverable()
```

Returns the undeliverable-config routes.

**Returns:** the undeliverable-config routes

### enable [#enable]

```java
public JsonNode enable(String patientId) throws IOException, InterruptedException
```

Enables Signals for a patient (`POST /fhir/Patient/{patientId}/$enable-signals`).

**Parameters:**

- `patientId`: the patient ID

**Returns:** the response body

**Throws:**

- `IOException`: if the request cannot be sent or the response cannot be read
- `InterruptedException`: if the thread is interrupted while waiting for the response

```java
public JsonNode enable(
        String patientId,
        RequestOptions options) throws IOException, InterruptedException
```

Enables Signals for a patient (`POST /fhir/Patient/{patientId}/$enable-signals`).

**Parameters:**

- `patientId`: the patient ID
- `options`: per-request options, such as the timeout

**Returns:** the response body

**Throws:**

- `IOException`: if the request cannot be sent or the response cannot be read
- `InterruptedException`: if the thread is interrupted while waiting for the response

## SignalsResource.Undeliverable [#signalsresourceundeliverable]

```java
public static final class Undeliverable
```

Lists and repairs Signals config that could not be delivered.

### Undeliverable.list [#undeliverablelist]

```java
public JsonNode list() throws IOException, InterruptedException
```

Lists undeliverable Signals config (`GET /signals/config/undeliverable`).

**Returns:** the response body

**Throws:**

- `IOException`: if the request cannot be sent or the response cannot be read
- `InterruptedException`: if the thread is interrupted while waiting for the response

```java
public JsonNode list(RequestOptions options) throws IOException, InterruptedException
```

Lists undeliverable Signals config (`GET /signals/config/undeliverable`).

**Parameters:**

- `options`: per-request options, such as the timeout

**Returns:** the response body

**Throws:**

- `IOException`: if the request cannot be sent or the response cannot be read
- `InterruptedException`: if the thread is interrupted while waiting for the response

### Undeliverable.repair [#undeliverablerepair]

```java
public JsonNode repair() throws IOException, InterruptedException
```

Retries all undeliverable Signals config (`POST /signals/config/undeliverable/repair`).

**Returns:** the response body

**Throws:**

- `IOException`: if the request cannot be sent or the response cannot be read
- `InterruptedException`: if the thread is interrupted while waiting for the response

```java
public JsonNode repair(
        Map<String, ?> request,
        RequestOptions options) throws IOException, InterruptedException
```

Retries undeliverable Signals config (`POST /signals/config/undeliverable/repair`).

**Parameters:**

- `request`: the repair request; empty retries all
- `options`: per-request options, such as the timeout

**Returns:** the response body

**Throws:**

- `IOException`: if the request cannot be sent or the response cannot be read
- `InterruptedException`: if the thread is interrupted while waiting for the response
