# Activities
URL: https://docs.awellhealth.com/api-reference/reference/activities

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



Query the activities in a care flow and retry, expire, or annotate them.

## Queries [#queries]

### `activitiesByCareflowDefinition` [#activitiesbycareflowdefinition]

Returns the activities recorded across care flows of a given care flow definition.

**Arguments**

| Argument                 | Type                                          | Required | Description                                                                                                  |
| ------------------------ | --------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------ |
| `careflow_definition_id` | `String!`                                     | Yes      | The ID of the care flow definition                                                                           |
| `filters`                | `FilterActivitiesByCareflowDefinitionFilters` | No       | Filters to narrow the results                                                                                |
| `pagination`             | `PaginationParams`                            | No       | How many results to return and the offset to start from — see [Pagination](/api-reference/guides/pagination) |
| `sorting`                | `SortingParams`                               | No       | The field to sort by and the sort direction — see [Pagination](/api-reference/guides/pagination)             |

**Returns:** `ActivitiesPayload!`

**Example**

```graphql
query ActivitiesByCareflowDefinition($careflow_definition_id: String!, $filters: FilterActivitiesByCareflowDefinitionFilters, $pagination: PaginationParams, $sorting: SortingParams) {
  activitiesByCareflowDefinition(careflow_definition_id: $careflow_definition_id, filters: $filters, pagination: $pagination, sorting: $sorting) {
    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
        release_id
        title
        trademark
      }
      form_display_mode
      icon_url
      id
      isUserActivity
      metadata
      public
      reference_id
      reference_type
      resolution
      session_id
      status
      stream_id
    }
    code
    metadata {
      stakeholders {
        email
        id
        name
        preferred_language
        type
      }
    }
    pagination {
      count
      offset
      total_count
    }
    success
  }
}
```

Variables:

```json
{
  "careflow_definition_id": "<string>",
  "filters": {},
  "pagination": {
    "count": 0,
    "offset": 0
  },
  "sorting": {
    "direction": "<string>",
    "field": "<string>"
  }
}
```

### `activitiesByPatient` [#activitiesbypatient]

Returns the activities recorded across a patient's care flows.

**Arguments**

| Argument     | Type                               | Required | Description                                                                                                  |
| ------------ | ---------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------ |
| `filters`    | `FilterActivitiesByPatientFilters` | No       | Filters to narrow the results                                                                                |
| `pagination` | `PaginationParams`                 | No       | How many results to return and the offset to start from — see [Pagination](/api-reference/guides/pagination) |
| `patient_id` | `String!`                          | Yes      | The ID of the patient                                                                                        |
| `sorting`    | `SortingParams`                    | No       | The field to sort by and the sort direction — see [Pagination](/api-reference/guides/pagination)             |

**Returns:** `ActivitiesPayload!`

**Example**

```graphql
query ActivitiesByPatient($filters: FilterActivitiesByPatientFilters, $pagination: PaginationParams, $patient_id: String!, $sorting: SortingParams) {
  activitiesByPatient(filters: $filters, pagination: $pagination, patient_id: $patient_id, sorting: $sorting) {
    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
        release_id
        title
        trademark
      }
      form_display_mode
      icon_url
      id
      isUserActivity
      metadata
      public
      reference_id
      reference_type
      resolution
      session_id
      status
      stream_id
    }
    code
    metadata {
      stakeholders {
        email
        id
        name
        preferred_language
        type
      }
    }
    pagination {
      count
      offset
      total_count
    }
    success
  }
}
```

Variables:

```json
{
  "filters": {},
  "pagination": {
    "count": 0,
    "offset": 0
  },
  "patient_id": "<string>",
  "sorting": {
    "direction": "<string>",
    "field": "<string>"
  }
}
```

### `activity` [#activity]

Returns a single activity by its ID.

**Arguments**

| Argument | Type      | Required | Description            |
| -------- | --------- | -------- | ---------------------- |
| `id`     | `String!` | Yes      | The ID of the activity |

**Returns:** `ActivityPayload!`

**Example**

```graphql
query Activity($id: String!) {
  activity(id: $id) {
    activity {
      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
    }
    code
    success
  }
}
```

Variables:

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

### `careflowActivities` [#careflowactivities]

Returns the activities in a care flow.

**Arguments**

| Argument          | Type                             | Required | Description                                                                                                  |
| ----------------- | -------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------ |
| `filters`         | `FilterCareflowActivitiesParams` | No       | Filters to narrow the results                                                                                |
| `pagination`      | `PaginationParams`               | No       | How many results to return and the offset to start from — see [Pagination](/api-reference/guides/pagination) |
| `pathway_id`      | `String!`                        | Yes      | The ID of the care flow                                                                                      |
| `skip_enrichment` | `Boolean`                        | No       | Whether to skip enrichment of the returned activities                                                        |
| `sorting`         | `SortingParams`                  | No       | The field to sort by and the sort direction — see [Pagination](/api-reference/guides/pagination)             |

**Returns:** `ActivitiesPayload!`

**Example**

```graphql
query CareflowActivities($filters: FilterCareflowActivitiesParams, $pagination: PaginationParams, $pathway_id: String!, $skip_enrichment: Boolean, $sorting: SortingParams) {
  careflowActivities(filters: $filters, pagination: $pagination, pathway_id: $pathway_id, skip_enrichment: $skip_enrichment, sorting: $sorting) {
    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
        release_id
        title
        trademark
      }
      form_display_mode
      icon_url
      id
      isUserActivity
      metadata
      public
      reference_id
      reference_type
      resolution
      session_id
      status
      stream_id
    }
    code
    metadata {
      stakeholders {
        email
        id
        name
        preferred_language
        type
      }
    }
    pagination {
      count
      offset
      total_count
    }
    success
  }
}
```

Variables:

```json
{
  "filters": {},
  "pagination": {
    "count": 0,
    "offset": 0
  },
  "pathway_id": "<string>",
  "skip_enrichment": true,
  "sorting": {
    "direction": "<string>",
    "field": "<string>"
  }
}
```

### `careflowActivityTypes` [#careflowactivitytypes]

Returns the activity types present in a care flow.

**Arguments**

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

**Returns:** `ActivityTypesPayload!`

**Example**

```graphql
query CareflowActivityTypes($careflow_id: String!) {
  careflowActivityTypes(careflow_id: $careflow_id) {
    activityTypes
    code
    success
  }
}
```

Variables:

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

### `extensionActivityRecord` [#extensionactivityrecord]

Returns the extension activity record for an activity.

**Arguments**

| Argument | Type      | Required | Description                             |
| -------- | --------- | -------- | --------------------------------------- |
| `id`     | `String!` | Yes      | The ID of the extension activity record |

**Returns:** `ExtensionActivityRecordPayload!`

**Example**

```graphql
query ExtensionActivityRecord($id: String!) {
  extensionActivityRecord(id: $id) {
    code
    record {
      activity_id
      data_points {
        label
        value
        valueType
      }
      date
      fields {
        id
        label
        type
        value
      }
      id
      pathway_id
      plugin_action_key
      plugin_key
      settings {
        key
        label
        value
      }
    }
    success
  }
}
```

Variables:

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

### `myActivities` [#myactivities]

Returns the activities in a care flow that are assigned to the authenticated user.

**Arguments**

| Argument     | Type               | Required | Description                                                                                                  |
| ------------ | ------------------ | -------- | ------------------------------------------------------------------------------------------------------------ |
| `pagination` | `PaginationParams` | No       | How many results to return and the offset to start from — see [Pagination](/api-reference/guides/pagination) |
| `pathway_id` | `String!`          | Yes      | The ID of the care flow                                                                                      |
| `sorting`    | `SortingParams`    | No       | The field to sort by and the sort direction — see [Pagination](/api-reference/guides/pagination)             |
| `track_id`   | `String`           | No       | The ID of the track                                                                                          |

**Returns:** `ActivitiesPayload!`

**Example**

```graphql
query MyActivities($pagination: PaginationParams, $pathway_id: String!, $sorting: SortingParams, $track_id: String) {
  myActivities(pagination: $pagination, pathway_id: $pathway_id, sorting: $sorting, track_id: $track_id) {
    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
        release_id
        title
        trademark
      }
      form_display_mode
      icon_url
      id
      isUserActivity
      metadata
      public
      reference_id
      reference_type
      resolution
      session_id
      status
      stream_id
    }
    code
    metadata {
      stakeholders {
        email
        id
        name
        preferred_language
        type
      }
    }
    pagination {
      count
      offset
      total_count
    }
    success
  }
}
```

Variables:

```json
{
  "pagination": {
    "count": 0,
    "offset": 0
  },
  "pathway_id": "<string>",
  "sorting": {
    "direction": "<string>",
    "field": "<string>"
  },
  "track_id": "<string>"
}
```

## Mutations [#mutations]

### `addActivityMetadata` [#addactivitymetadata]

Adds metadata to an activity.

**Arguments**

| Argument | Type                        | Required | Description                                |
| -------- | --------------------------- | -------- | ------------------------------------------ |
| `input`  | `AddActivityMetadataInput!` | Yes      | The activity and the metadata to add to it |

**Returns:** `AddActivityMetadataPayload!`

**Example**

```graphql
mutation AddActivityMetadata($input: AddActivityMetadataInput!) {
  addActivityMetadata(input: $input) {
    activity {
      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
    }
    code
    success
  }
}
```

Variables:

```json
{
  "input": {
    "activity_id": "<string>",
    "metadata": "<json>"
  }
}
```

### `completeExtensionActivity` [#completeextensionactivity]

Completes an extension activity.

**Arguments**

| Argument | Type                              | Required | Description                                       |
| -------- | --------------------------------- | -------- | ------------------------------------------------- |
| `input`  | `CompleteExtensionActivityInput!` | Yes      | The details of the extension activity to complete |

**Returns:** `CompleteExtensionActivityPayload!`

**Example**

```graphql
mutation CompleteExtensionActivity($input: CompleteExtensionActivityInput!) {
  completeExtensionActivity(input: $input) {
    activity {
      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
    }
    code
    success
  }
}
```

Variables:

```json
{
  "input": {
    "activity_id": "<string>",
    "data_points": [
      {
        "key": "<string>",
        "value": "<string>"
      }
    ]
  }
}
```

### `expireActivity` [#expireactivity]

Expires an activity.

**Arguments**

| Argument | Type                   | Required | Description                           |
| -------- | ---------------------- | -------- | ------------------------------------- |
| `input`  | `ExpireActivityInput!` | Yes      | The details of the activity to expire |

**Returns:** `EmptyPayload!`

**Example**

```graphql
mutation ExpireActivity($input: ExpireActivityInput!) {
  expireActivity(input: $input) {
    code
    success
  }
}
```

Variables:

```json
{
  "input": {
    "activity_id": "<string>",
    "reason": "<string>",
    "user_email": "<string>",
    "user_id": "<string>"
  }
}
```

### `retryActivities` [#retryactivities]

Retry failed activities by their IDs. Limited to 1000 activities per call.

**Arguments**

| Argument | Type                    | Required | Description                        |
| -------- | ----------------------- | -------- | ---------------------------------- |
| `input`  | `RetryActivitiesInput!` | Yes      | The IDs of the activities to retry |

**Returns:** `RetryActivitiesPayload!`

**Example**

```graphql
mutation RetryActivities($input: RetryActivitiesInput!) {
  retryActivities(input: $input) {
    code
    result {
      failed
      skipped
      succeeded
    }
    success
  }
}
```

Variables:

```json
{
  "input": {
    "activity_ids": [
      "<string>"
    ]
  }
}
```

### `retryActivity` [#retryactivity]

Retries a single failed activity.

**Arguments**

| Argument | Type                  | Required | Description                          |
| -------- | --------------------- | -------- | ------------------------------------ |
| `input`  | `RetryActivityInput!` | Yes      | The details of the activity to retry |

**Returns:** `EmptyPayload!`

**Example**

```graphql
mutation RetryActivity($input: RetryActivityInput!) {
  retryActivity(input: $input) {
    code
    success
  }
}
```

Variables:

```json
{
  "input": {
    "activity_id": "<string>"
  }
}
```
