# Create a per-task push-notification config.

Source: <https://everruns.com/docs/api/operations/create_push_config/>

POST

/v1/sessions/{session\_id}/tasks/{task\_id}/push-configs

Select code samplecURL (shell:curl)

```js
const url = 'https://app.everruns.com/api/v1/sessions/example/tasks/example/push-configs';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"event_filter":["example"],"secret":"whsec_example_signing_secret_placeholder","url":"https://hooks.example.com/everruns/tasks"}'
};


try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```sh
curl --request POST \
  --url https://app.everruns.com/api/v1/sessions/example/tasks/example/push-configs \
  --header 'Content-Type: application/json' \
  --data '{ "event_filter": [ "example" ], "secret": "whsec_example_signing_secret_placeholder", "url": "https://hooks.example.com/everruns/tasks" }'
```

* Production APIapp.everruns.com/api/v1/sessions/{session\_id}/tasks/{task\_id}/push-configs

## Parameters

### Path Parameters

**session\_id**

required

string

Session ID

**task\_id**

required

string

Task ID

## Request Bodyrequired

Media typeapplication/json

Request body for creating a per-task push config.

object

**event\_filter**

Events that trigger delivery. Defaults to `["terminal"]`.

Array\<string> | null

**secret**

Optional HMAC-SHA256 signing secret (never returned once set).

string | null

##### Example

```plaintext
whsec_example_signing_secret_placeholder
```

**url**

required

URL to POST task events to.

string

##### Example

```plaintext
https://hooks.example.com/everruns/tasks
```

## Responses

### 200

Created push config

Media typeapplication/json

Public view of a per-task push config. The stored secret is NEVER returned — only `has_secret` signals whether one is configured.

object

**created\_at**

required

When the config was created (RFC 3339).

string format: date-time

**event\_filter**

required

Events that trigger delivery (terminal, awaiting\_input, message).

Array\<string>

**has\_secret**

required

Whether a signing secret is configured (the secret itself is never returned).

boolean

**id**

required

Public identifier (tpc\_<32-hex-chars>).

string

**updated\_at**

required

When the config was last updated (RFC 3339).

string format: date-time

**url**

required

Target URL that receives POST deliveries.

string

##### Example

```json
{
  "created_at": "2026-07-11T00:00:00Z",
  "has_secret": true,
  "id": "tpc_9f8c2b1a4e7d4c3b8a1f2e3d4c5b6a7f",
  "updated_at": "2026-07-11T00:00:00Z",
  "url": "https://hooks.example.com/everruns/tasks"
}
```

### 400

Invalid request (bad URL or event\_filter)

### 404

Session or task not found