> For the complete documentation index, see [llms.txt](https://everyday-digital.gitbook.io/falkor-dev-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://everyday-digital.gitbook.io/falkor-dev-docs/pathways/logs/activity-and-user-logs.md).

# Activity & User Logs

The logs/pathway-logs endpoint retrieves activities and user logs. Pathway logs provides a comprehensive log of each activity and each user log. Pathway activities are related to various content, off and on app activities.

{% hint style="info" %}
Before working with this endpoint it is suggested to read through [Activity & Fulfilment Types](/falkor-dev-docs/pathways/logs/activity-and-fulfilment-types.md). This will give you a insight into how pathway logs work and what fulfilment references are available.\
\
**Limits**\
Due to number of users that could be enrolled on a pathway this endpoint is limited to 1 pathway being returned. If you need to query multiple pathways you will need to do multiple requests.
{% endhint %}

## Parameters

The logs/pathway-logs endpoint has several parameters allowing you to filter by pathway, users, activities, activity types or a combination of all 4. This allows retrieving specific activities and user logs.

<table><thead><tr><th width="150"></th><th width="429.4285714285714"></th></tr></thead><tbody><tr><td><strong>Key</strong></td><td><strong>Type</strong></td></tr><tr><td><strong>pathway</strong></td><td>String (ID or name of pathway)</td></tr><tr><td><strong>activities</strong></td><td>Array String (ID or name of activity)</td></tr><tr><td><strong>types</strong></td><td>Array String (Type of activity)</td></tr><tr><td><strong>groups</strong></td><td>Array Sting (name of group)</td></tr><tr><td><strong>users</strong></td><td>Array String (name or email)</td></tr></tbody></table>

## Examples

The examples below do not exhaust what is possible, but will give a good overview of different techniques and approaches.

### Get All Activities & Logs

The example below will retrieve all activities and logs for a pathway. This is useful if you wish to see all logs from users and get an overall progress for a pathway.

```
curl -X POST \
  v1/logs/pathway-logs \
  -H 'Authorization: Basic <Your Base64 Encoded Token>'
  -d '{
    pathway : "Pathway A"
  }'
```

### Get Specific Activity Type & Logs

The example below will retrieve only Data Tracking activities and logs for a pathway. This is useful if  you would like to get a an overview of just Data Activities and their results.

```
curl -X POST \
  v1/logs/pathway-logs \
  -H 'Authorization: Basic <Your Base64 Encoded Token>'
  -d '{
    "pathway" : "Pathway A",
    "types" : ["Data Target"]
  }'
```

### Get Specific Activity Types & Logs

The example below will retrieve several different activity types and logs for a pathway. This is useful if you want to get activities and logs of different types.

```
curl -X POST \
  v1/logs/pathway-logs \
  -H 'Authorization: Basic <Your Base64 Encoded Token>'
  -d '{
    "pathway" : "Pathway A",
    "types" : ["Data Target","Certificates","Stories",...]
  }'
```

### Get Specific OR Multiple Users & Logs

The examples below will retrieve all log for a single user or multiple users for a pathway.  With the `users` parameter you can search by email, first name, last name or full name. Remember you can use `types` along with `users` to filter user logs to specified activity types.

**Specific User**

```
curl -X POST \
  v1/logs/pathway-logs \
  -H 'Authorization: Basic <Your Base64 Encoded Token>'
  -d '{
    "pathway" : "Pathway A",
    "users" : ["joe.soap@example.com"]
  }'
```

**Multiple Users**

```
curl -X POST \
  v1/logs/pathway-logs \
  -H 'Authorization: Basic <Your Base64 Encoded Token>'
  -d '{
    "pathway" : "Pathway A",
    "user" : ["joe.soap@example.com","user.two@example.com",...etc],
    "types" : ["Data Target","Assessments","Stories",...]
  }'
```

### Get Specific OR Multiple Activities & Logs

The examples below will retrieve all log for a single activity or multiple activities for a pathway.  With the activities parameter you can search by name or ID of an activity.&#x20;

**Single Activity**

```
curl -X POST \
  v1/logs/pathway-logs \
  -H 'Authorization: Basic <Your Base64 Encoded Token>'
  -d '{
    "pathway" : "Pathway A",
    "activities" : ["Story A"]
  }'
```

**Multiple Activities**

```
curl -X POST \
  v1/logs/pathway-logs \
  -H 'Authorization: Basic <Your Base64 Encoded Token>'
  -d '{
    "pathway" : "Pathway A",
    "activities" : ["Story A","Video A","Audio A",..etc]
  }'
```

{% hint style="info" %}
**Tip**\
You can use a combination of **types**, **activities** & **users** to retrieve what ever logs are needed.&#x20;
{% endhint %}

## Success Response

A successful response will return a pathway + activities item array.

```
{
    "status": "success",
    "data": [
        {
            "pathway": {
                "name": "Become A Store Owner",
                "type": "pathway",
                "ID": "EV67-ZCNS-56AD"
            },
            "activities": [
                {
                    "ID": "EVPA-WVZF-56QJ",
                    "name": "Data Tracking",
                    "type": "data",
                    "fulfilmentType": "tracking",
                    "required": true,
                    "level": 1,
                    "stats": {
                        "total": 2,
                        "completed": 2
                    },
                    "logs": [
                        {
                            "firstname": "User",
                            "lastname": "One",
                            "email": "user.one@example.com",
                            "telephone": "",
                            "country": "South Africa",
                            "city": "Cape Town",
                            "groups": [
                                "Group A",
                                "Group B"
                            ],
                            "status": {
                                "complete": true,
                                "progress": 100,
                                "state": "completed",
                                "timestamp": "2022-02-24T15:09:57+02:00"
                            },
                            "fulfilment": {
                                "type": "data",
                                "state": "completed",
                                "progress": 100,
                                "data": {
                                    "category": "Current Score",
                                    "current": 500,
                                    "target": 159
                                },
                                "timestamp": "2022-02-24T15:09:57+02:00"
                            }
                        },
                        ...etc 
                    ]
                },
                {
                    "ID": "EVPA-KWOI-80AI"
                    "name": "Story A",
                    "type": "story",
                    "fulfilmentType": "complete",
                    "required": true,
                    "level": 1,
                    "stats": {
                        "total": 2,
                        "completed": 1
                    },
                    "logs": [
                        {
                            "firstname": "User",
                            "lastname": "One",
                            "email": "user.one@example.com",
                            "telephone": "",
                            "country": "South Africa",
                            "city": "Cape Town",
                            "groups": [
                                "Group A",
                                "Group B"
                            ],
                            "status": {
                                "complete": true,
                                "progress": 100,
                                "state": "completed",
                                "timestamp": "2022-02-24T14:56:56+02:00"
                            },
                            "fulfilment": {
                                "type": "story",
                                "state": "completed",
                                "progress": 100,
                                "story": {
                                    "ID": "EV72-RQZY-80AH",
                                    "name": "Story A",
                                    "score": 100
                                },
                                "timestamp": "2022-02-24T14:56:56+02:00"
                            }
                        },
                        ..etc
                    ]
                },
                ...etc
            ]
        }
    ],
    "hash": "bcce5ca8f5ea870a16f43c411136be31",
    "response_time": 0.22242403030395508
}
```

### &#x20;Pathway + Activities Item

|                  |                                  |
| ---------------- | -------------------------------- |
| **Key**          | **Type**                         |
| **pathway**      | Object                           |
| **pathway.ID**   | String (ID / SKU of the pathway) |
| **pathway.name** | String                           |
| **activities**   | Array of Activity Items          |

### Activity Item

The activity item contains information about the activity and logs which provides all user logs.

|                     |                                                                                                          |
| ------------------- | -------------------------------------------------------------------------------------------------------- |
| **Key**             | **Type**                                                                                                 |
| **ID**              | String (ID / SKU of the activity)                                                                        |
| **name**            | String                                                                                                   |
| **type**            | Enum (Activity type [see references](/falkor-dev-docs/pathways/logs/activity-and-fulfilment-types.md))   |
| **fulfilmentType**  | Enum (Fulfilment type [see references](/falkor-dev-docs/pathways/logs/activity-and-fulfilment-types.md)) |
| **required**        | Bool (If the activity is required)                                                                       |
| **level**           | Int (The level the activity is on 1 - 4)                                                                 |
| **stats**           | Object                                                                                                   |
| **stats.total**     | Int (Number of users)                                                                                    |
| **stats.completed** | Int (Number of users completed this activity)                                                            |
| **logs**            | Array of Log Items                                                                                       |
|                     |                                                                                                          |

### Log Item

The log item contains user information, `status` and `fulfilment`. Status contains basic log information such as `complete`, `state`, `timestamp` & `progress`. Fulfilment has the same information as status but includes specific `fulfilment` data that relates to the activity.

Depending on what information is needed and your use case. You should use `status` if you **do not need fulfilment data**, otherwise use fulfilment to access status and fulfilment data. To understand fulfilment data and what's available see [Fulfilment References](/falkor-dev-docs/pathways/logs/activity-and-fulfilment-types.md).

|                      |                                                                                            |
| -------------------- | ------------------------------------------------------------------------------------------ |
| **Key**              | **Type**                                                                                   |
| **firstname**        | String                                                                                     |
| **lastname**         | String                                                                                     |
| **email**            | String                                                                                     |
| **telephone**        | String                                                                                     |
| **country**          | String                                                                                     |
| **city**             | String                                                                                     |
| **groups**           | Array (String of groups)                                                                   |
| **status**           | Object                                                                                     |
| **status.complete**  | bool (If the user completed the activity)                                                  |
| **status.state**     | Enum (not started, in progress, completed)                                                 |
| **status.timestamp** | String (Last updated / completed time)                                                     |
| **status.progress**  | Float (User progress on the activity)                                                      |
| **fulfilment**       | Object ([See references](/falkor-dev-docs/pathways/logs/activity-and-fulfilment-types.md)) |
