# Subscriptions
URL: https://docs.awellhealth.com/api-reference/reference/subscriptions

> For the complete documentation index, see [llms.txt](https://docs.awellhealth.com/llms.txt).



Real-time GraphQL subscriptions for activity, session, care flow, API call, and webhook events.

## Subscriptions [#subscriptions]

### `activityCompleted` [#activitycompleted]

Emits when an activity is completed.

**Arguments**

| Argument                  | Type      | Required | Description                             |
| ------------------------- | --------- | -------- | --------------------------------------- |
| `only_patient_activities` | `Boolean` | No       | Only emit events for patient activities |
| `pathway_id`              | `String`  | No       | The ID of the care flow                 |

**Returns:** `Activity!`

**Example**

```graphql
subscription ActivityCompleted($only_patient_activities: Boolean, $pathway_id: String) {
  activityCompleted(only_patient_activities: $only_patient_activities, pathway_id: $pathway_id) {
    action
    action_component {
      definition_id
      release_id
      title
    }
    container_name
    context {
      action_id
      agent_config_id
      agent_id
      agent_thread_id
      instance_id
      pathway_id
      run_id
      step_id
      track_id
    }
    date
    expires_at
    form {
      definition_id
      id
      key
      metadata
      previous_answers {
        activity_id
        date
      }
      questions {
        dataPointValueType
        definition_id
        id
        key
        metadata
        page
        questionType
        title
        title_html
        userQuestionType
      }
      release_id
      title
      trademark
    }
    form_display_mode
    icon_url
    id
    isUserActivity
    metadata
    public
    reference_id
    reference_type
    resolution
    session_id
    status
    stream_id
  }
}
```

Variables:

```json
{
  "only_patient_activities": true,
  "pathway_id": "<string>"
}
```

### `activityCreated` [#activitycreated]

Emits when an activity is created.

**Arguments**

| Argument                  | Type      | Required | Description                             |
| ------------------------- | --------- | -------- | --------------------------------------- |
| `only_patient_activities` | `Boolean` | No       | Only emit events for patient activities |
| `pathway_id`              | `String`  | No       | The ID of the care flow                 |

**Returns:** `Activity!`

**Example**

```graphql
subscription ActivityCreated($only_patient_activities: Boolean, $pathway_id: String) {
  activityCreated(only_patient_activities: $only_patient_activities, pathway_id: $pathway_id) {
    action
    action_component {
      definition_id
      release_id
      title
    }
    container_name
    context {
      action_id
      agent_config_id
      agent_id
      agent_thread_id
      instance_id
      pathway_id
      run_id
      step_id
      track_id
    }
    date
    expires_at
    form {
      definition_id
      id
      key
      metadata
      previous_answers {
        activity_id
        date
      }
      questions {
        dataPointValueType
        definition_id
        id
        key
        metadata
        page
        questionType
        title
        title_html
        userQuestionType
      }
      release_id
      title
      trademark
    }
    form_display_mode
    icon_url
    id
    isUserActivity
    metadata
    public
    reference_id
    reference_type
    resolution
    session_id
    status
    stream_id
  }
}
```

Variables:

```json
{
  "only_patient_activities": true,
  "pathway_id": "<string>"
}
```

### `activityExpired` [#activityexpired]

Emits when an activity expires.

**Arguments**

| Argument                  | Type      | Required | Description                             |
| ------------------------- | --------- | -------- | --------------------------------------- |
| `only_patient_activities` | `Boolean` | No       | Only emit events for patient activities |
| `pathway_id`              | `String`  | No       | The ID of the care flow                 |

**Returns:** `Activity!`

**Example**

```graphql
subscription ActivityExpired($only_patient_activities: Boolean, $pathway_id: String) {
  activityExpired(only_patient_activities: $only_patient_activities, pathway_id: $pathway_id) {
    action
    action_component {
      definition_id
      release_id
      title
    }
    container_name
    context {
      action_id
      agent_config_id
      agent_id
      agent_thread_id
      instance_id
      pathway_id
      run_id
      step_id
      track_id
    }
    date
    expires_at
    form {
      definition_id
      id
      key
      metadata
      previous_answers {
        activity_id
        date
      }
      questions {
        dataPointValueType
        definition_id
        id
        key
        metadata
        page
        questionType
        title
        title_html
        userQuestionType
      }
      release_id
      title
      trademark
    }
    form_display_mode
    icon_url
    id
    isUserActivity
    metadata
    public
    reference_id
    reference_type
    resolution
    session_id
    status
    stream_id
  }
}
```

Variables:

```json
{
  "only_patient_activities": true,
  "pathway_id": "<string>"
}
```

### `activityUpdated` [#activityupdated]

Emits when an activity is updated.

**Arguments**

| Argument                  | Type      | Required | Description                             |
| ------------------------- | --------- | -------- | --------------------------------------- |
| `only_patient_activities` | `Boolean` | No       | Only emit events for patient activities |
| `pathway_id`              | `String`  | No       | The ID of the care flow                 |

**Returns:** `Activity!`

**Example**

```graphql
subscription ActivityUpdated($only_patient_activities: Boolean, $pathway_id: String) {
  activityUpdated(only_patient_activities: $only_patient_activities, pathway_id: $pathway_id) {
    action
    action_component {
      definition_id
      release_id
      title
    }
    container_name
    context {
      action_id
      agent_config_id
      agent_id
      agent_thread_id
      instance_id
      pathway_id
      run_id
      step_id
      track_id
    }
    date
    expires_at
    form {
      definition_id
      id
      key
      metadata
      previous_answers {
        activity_id
        date
      }
      questions {
        dataPointValueType
        definition_id
        id
        key
        metadata
        page
        questionType
        title
        title_html
        userQuestionType
      }
      release_id
      title
      trademark
    }
    form_display_mode
    icon_url
    id
    isUserActivity
    metadata
    public
    reference_id
    reference_type
    resolution
    session_id
    status
    stream_id
  }
}
```

Variables:

```json
{
  "only_patient_activities": true,
  "pathway_id": "<string>"
}
```

### `apiCallCreated` [#apicallcreated]

Emits when an API call is created.

**Arguments**

| Argument     | Type      | Required | Description             |
| ------------ | --------- | -------- | ----------------------- |
| `pathway_id` | `String!` | Yes      | The ID of the care flow |

**Returns:** `ApiCall!`

**Example**

```graphql
subscription ApiCallCreated($pathway_id: String!) {
  apiCallCreated(pathway_id: $pathway_id) {
    created_at
    id
    request {
      body
      endpoint
      headers {
        key
        value
      }
      method
    }
    responses {
      body
      date
      status
    }
    status
    title
  }
}
```

Variables:

```json
{
  "pathway_id": "<string>"
}
```

### `apiCallUpdated` [#apicallupdated]

Emits when an API call is updated.

**Arguments**

| Argument     | Type      | Required | Description             |
| ------------ | --------- | -------- | ----------------------- |
| `pathway_id` | `String!` | Yes      | The ID of the care flow |

**Returns:** `ApiCall!`

**Example**

```graphql
subscription ApiCallUpdated($pathway_id: String!) {
  apiCallUpdated(pathway_id: $pathway_id) {
    created_at
    id
    request {
      body
      endpoint
      headers {
        key
        value
      }
      method
    }
    responses {
      body
      date
      status
    }
    status
    title
  }
}
```

Variables:

```json
{
  "pathway_id": "<string>"
}
```

### `pathwayUpdated` [#pathwayupdated]

Emits when a care flow is updated.

**Arguments**

| Argument | Type  | Required | Description             |
| -------- | ----- | -------- | ----------------------- |
| `id`     | `ID!` | Yes      | The ID of the care flow |

**Returns:** `Pathway!`

**Example**

```graphql
subscription PathwayUpdated($id: ID!) {
  pathwayUpdated(id: $id) {
    complete_date
    created {
      date
      user_email
      user_id
      user_name
    }
    id
    is_archived
    latestActivities {
      action
      action_component {
        definition_id
        release_id
        title
      }
      container_name
      context {
        action_id
        agent_config_id
        agent_id
        agent_thread_id
        instance_id
        pathway_id
        run_id
        step_id
        track_id
      }
      date
      expires_at
      form {
        definition_id
        id
        key
        metadata
        release_id
        title
        trademark
      }
      form_display_mode
      icon_url
      id
      isUserActivity
      metadata
      public
      reference_id
      reference_type
      resolution
      session_id
      status
      stream_id
    }
    pathway_definition_id
    patient {
      id
      profile {
        birth_date
        email
        first_name
        last_name
        mobile_phone
        name
        national_registry_number
        patient_code
        patient_timezone
        phone
        preferred_language
        sex
      }
      tenant_id
    }
    patient_id
    release_id
    start_date
    status
    status_explanation
    stop_date
    title
    version
  }
}
```

Variables:

```json
{
  "id": "<id>"
}
```

### `sessionActivityCompleted` [#sessionactivitycompleted]

Emits when an activity in a hosted session is completed.

**Arguments**

| Argument                      | Type      | Required | Description                                 |
| ----------------------------- | --------- | -------- | ------------------------------------------- |
| `only_stakeholder_activities` | `Boolean` | No       | Only emit events for stakeholder activities |

**Returns:** `Activity!`

**Example**

```graphql
subscription SessionActivityCompleted($only_stakeholder_activities: Boolean) {
  sessionActivityCompleted(only_stakeholder_activities: $only_stakeholder_activities) {
    action
    action_component {
      definition_id
      release_id
      title
    }
    container_name
    context {
      action_id
      agent_config_id
      agent_id
      agent_thread_id
      instance_id
      pathway_id
      run_id
      step_id
      track_id
    }
    date
    expires_at
    form {
      definition_id
      id
      key
      metadata
      previous_answers {
        activity_id
        date
      }
      questions {
        dataPointValueType
        definition_id
        id
        key
        metadata
        page
        questionType
        title
        title_html
        userQuestionType
      }
      release_id
      title
      trademark
    }
    form_display_mode
    icon_url
    id
    isUserActivity
    metadata
    public
    reference_id
    reference_type
    resolution
    session_id
    status
    stream_id
  }
}
```

Variables:

```json
{
  "only_stakeholder_activities": true
}
```

### `sessionActivityCreated` [#sessionactivitycreated]

Emits when an activity in a hosted session is created.

**Arguments**

| Argument                      | Type      | Required | Description                                 |
| ----------------------------- | --------- | -------- | ------------------------------------------- |
| `only_stakeholder_activities` | `Boolean` | No       | Only emit events for stakeholder activities |

**Returns:** `Activity!`

**Example**

```graphql
subscription SessionActivityCreated($only_stakeholder_activities: Boolean) {
  sessionActivityCreated(only_stakeholder_activities: $only_stakeholder_activities) {
    action
    action_component {
      definition_id
      release_id
      title
    }
    container_name
    context {
      action_id
      agent_config_id
      agent_id
      agent_thread_id
      instance_id
      pathway_id
      run_id
      step_id
      track_id
    }
    date
    expires_at
    form {
      definition_id
      id
      key
      metadata
      previous_answers {
        activity_id
        date
      }
      questions {
        dataPointValueType
        definition_id
        id
        key
        metadata
        page
        questionType
        title
        title_html
        userQuestionType
      }
      release_id
      title
      trademark
    }
    form_display_mode
    icon_url
    id
    isUserActivity
    metadata
    public
    reference_id
    reference_type
    resolution
    session_id
    status
    stream_id
  }
}
```

Variables:

```json
{
  "only_stakeholder_activities": true
}
```

### `sessionActivityExpired` [#sessionactivityexpired]

Emits when an activity in a hosted session expires.

**Arguments**

| Argument                      | Type      | Required | Description                                 |
| ----------------------------- | --------- | -------- | ------------------------------------------- |
| `only_stakeholder_activities` | `Boolean` | No       | Only emit events for stakeholder activities |

**Returns:** `Activity!`

**Example**

```graphql
subscription SessionActivityExpired($only_stakeholder_activities: Boolean) {
  sessionActivityExpired(only_stakeholder_activities: $only_stakeholder_activities) {
    action
    action_component {
      definition_id
      release_id
      title
    }
    container_name
    context {
      action_id
      agent_config_id
      agent_id
      agent_thread_id
      instance_id
      pathway_id
      run_id
      step_id
      track_id
    }
    date
    expires_at
    form {
      definition_id
      id
      key
      metadata
      previous_answers {
        activity_id
        date
      }
      questions {
        dataPointValueType
        definition_id
        id
        key
        metadata
        page
        questionType
        title
        title_html
        userQuestionType
      }
      release_id
      title
      trademark
    }
    form_display_mode
    icon_url
    id
    isUserActivity
    metadata
    public
    reference_id
    reference_type
    resolution
    session_id
    status
    stream_id
  }
}
```

Variables:

```json
{
  "only_stakeholder_activities": true
}
```

### `sessionActivityUpdated` [#sessionactivityupdated]

Emits when an activity in a hosted session is updated.

**Arguments**

| Argument                      | Type      | Required | Description                                 |
| ----------------------------- | --------- | -------- | ------------------------------------------- |
| `only_stakeholder_activities` | `Boolean` | No       | Only emit events for stakeholder activities |

**Returns:** `Activity!`

**Example**

```graphql
subscription SessionActivityUpdated($only_stakeholder_activities: Boolean) {
  sessionActivityUpdated(only_stakeholder_activities: $only_stakeholder_activities) {
    action
    action_component {
      definition_id
      release_id
      title
    }
    container_name
    context {
      action_id
      agent_config_id
      agent_id
      agent_thread_id
      instance_id
      pathway_id
      run_id
      step_id
      track_id
    }
    date
    expires_at
    form {
      definition_id
      id
      key
      metadata
      previous_answers {
        activity_id
        date
      }
      questions {
        dataPointValueType
        definition_id
        id
        key
        metadata
        page
        questionType
        title
        title_html
        userQuestionType
      }
      release_id
      title
      trademark
    }
    form_display_mode
    icon_url
    id
    isUserActivity
    metadata
    public
    reference_id
    reference_type
    resolution
    session_id
    status
    stream_id
  }
}
```

Variables:

```json
{
  "only_stakeholder_activities": true
}
```

### `sessionCompleted` [#sessioncompleted]

Emits when a hosted session is completed.

**Returns:** `HostedSession!`

**Example**

```graphql
subscription SessionCompleted {
  sessionCompleted {
    cancel_url
    created_at
    expires_at
    id
    organization_slug
    pathway_id
    stakeholder {
      id
      name
      type
    }
    status
    success_url
    tracking {
      custom
      utm_campaign
      utm_content
      utm_medium
      utm_source
      utm_term
    }
    user_context {
      stytch_member_email
      stytch_member_id
    }
  }
}
```

### `sessionExpired` [#sessionexpired]

Emits when a hosted session expires.

**Returns:** `HostedSession!`

**Example**

```graphql
subscription SessionExpired {
  sessionExpired {
    cancel_url
    created_at
    expires_at
    id
    organization_slug
    pathway_id
    stakeholder {
      id
      name
      type
    }
    status
    success_url
    tracking {
      custom
      utm_campaign
      utm_content
      utm_medium
      utm_source
      utm_term
    }
    user_context {
      stytch_member_email
      stytch_member_id
    }
  }
}
```

### `webhookCallCreated` [#webhookcallcreated]

Emits when a webhook call is created.

**Arguments**

| Argument     | Type      | Required | Description             |
| ------------ | --------- | -------- | ----------------------- |
| `pathway_id` | `String!` | Yes      | The ID of the care flow |

**Returns:** `WebhookCall!`

**Example**

```graphql
subscription WebhookCallCreated($pathway_id: String!) {
  webhookCallCreated(pathway_id: $pathway_id) {
    created_at
    event_type
    id
    pathway {
      id
      pathway_definition_id
      patient_id
      start_date
    }
    request {
      body
      endpoint
      headers {
        key
        value
      }
      method
    }
    responses {
      body
      date
      status
    }
    status
    webhook_id
    webhook_name
  }
}
```

Variables:

```json
{
  "pathway_id": "<string>"
}
```

### `webhookCallUpdated` [#webhookcallupdated]

Emits when a webhook call is updated.

**Arguments**

| Argument     | Type      | Required | Description             |
| ------------ | --------- | -------- | ----------------------- |
| `pathway_id` | `String!` | Yes      | The ID of the care flow |

**Returns:** `WebhookCall!`

**Example**

```graphql
subscription WebhookCallUpdated($pathway_id: String!) {
  webhookCallUpdated(pathway_id: $pathway_id) {
    created_at
    event_type
    id
    pathway {
      id
      pathway_definition_id
      patient_id
      start_date
    }
    request {
      body
      endpoint
      headers {
        key
        value
      }
      method
    }
    responses {
      body
      date
      status
    }
    status
    webhook_id
    webhook_name
  }
}
```

Variables:

```json
{
  "pathway_id": "<string>"
}
```
