> ## Documentation Index
> Fetch the complete documentation index at: https://help.honestly.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /v1/initiatives — List Initiatives (Action Items)

> Retrieve a paginated list of your account's initiatives — the action items derived from survey results — including their status, linked survey and questions, assignee, and reminder settings. Available as of Export API v1.3.0.

The `/v1/initiatives` endpoint returns a paginated list of your account's initiatives — the action items teams derive from survey results. Each entry contains the full data of an initiative, so you can sync action plans and their progress into your warehouse.

An initiative is identified by its `uuid`. The surveys, questions, and employees it references are exposed by the same integer IDs returned by the [`/v1/surveys`](/developers/api-reference/surveys), [`/v1/questions`](/developers/api-reference/questions), and [`/v1/employees`](/developers/api-reference/employees) endpoints, so you can cross-reference them.

Initiatives are returned ordered by `created_at` descending.

## Endpoint

```
GET https://api.honestly.com/v1/initiatives
```

## Query Parameters

<ParamField query="limit" type="integer">
  Maximum number of initiatives to return per page. Accepts values from `0` to `1000`. Defaults to `100`.
</ParamField>

<ParamField query="offset" type="integer">
  Number of initiatives to skip before returning results. Defaults to `0`.
</ParamField>

<ParamField query="status" type="string">
  Return only initiatives with this status. One of `draft`, `defined`, `in_progress`, or `completed`. Omit to return initiatives of any status.
</ParamField>

## Example Request

```bash theme={null}
curl -X GET "https://api.honestly.com/v1/initiatives?limit=100&offset=0&status=in_progress" \
  -H "X-Api-Key: YOUR_SECRET_API_KEY"
```

## Example Response

```json theme={null}
{
  "total_count": 1,
  "initiatives": [
    {
      "uuid": "8f1d2c3a-4b5e-6789-90ab-cdef01234567",
      "title": "Improve onboarding for new joiners",
      "status": "in_progress",
      "survey": {
        "id": 51,
        "name": {
          "en": "Engagement Pulse",
          "de": "Engagement Pulse"
        }
      },
      "questions": [
        {
          "id": 121,
          "name": {
            "en": "How clear was your onboarding?",
            "de": "Wie klar war Ihr Onboarding?"
          }
        }
      ],
      "assignee": {
        "employee_id": 23,
        "firstname": "Jane",
        "lastname": "Doe"
      },
      "creator": {
        "employee_id": 7,
        "firstname": "John",
        "lastname": "Smith"
      },
      "notes": "Kick-off with the People team in Q2.",
      "completion_date": "2026-06-30T00:00:00Z",
      "created_at": "2026-04-01T09:12:00Z",
      "updated_at": "2026-05-02T14:03:00Z",
      "is_private": false,
      "reminder_settings": ["three_days_before"],
      "notification_settings": ["on_create", "on_update"]
    }
  ]
}
```

## Response Fields

<ResponseField name="total_count" type="integer">
  Total number of initiatives matching the query. Use this value to calculate how many pages to fetch when paginating.
</ResponseField>

<ResponseField name="initiatives" type="array">
  List of initiative objects.

  <Expandable title="initiative object fields">
    <ResponseField name="uuid" type="string">
      The unique identifier of the initiative.
    </ResponseField>

    <ResponseField name="title" type="string">
      The title of the initiative.
    </ResponseField>

    <ResponseField name="status" type="string">
      The current state of the initiative. One of `draft`, `defined`, `in_progress`, or `completed`.
    </ResponseField>

    <ResponseField name="survey" type="object | null">
      The survey the initiative is linked to, or `null` when it is not linked to a survey.

      <Expandable title="survey reference fields">
        <ResponseField name="id" type="integer">
          Survey ID, matching the IDs returned by the [`/v1/surveys`](/developers/api-reference/surveys) endpoint.
        </ResponseField>

        <ResponseField name="name" type="object">
          The translated survey name, keyed by ISO 639-1 language code (e.g. `{ "en": "…", "de": "…" }`).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="questions" type="array">
      The questions the initiative is linked to.

      <Expandable title="question reference fields">
        <ResponseField name="id" type="integer">
          Question ID, matching the IDs returned by the [`/v1/questions`](/developers/api-reference/questions) endpoint.
        </ResponseField>

        <ResponseField name="name" type="object">
          The translated question name, keyed by ISO 639-1 language code.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="assignee" type="object | null">
      The employee the initiative is assigned to. `null` when the initiative is unassigned or the assignee was deleted.

      <Expandable title="employee reference fields">
        <ResponseField name="employee_id" type="integer">
          Employee ID, matching the IDs returned by the [`/v1/employees`](/developers/api-reference/employees) endpoint.
        </ResponseField>

        <ResponseField name="firstname" type="string | null">
          The employee's first name.
        </ResponseField>

        <ResponseField name="lastname" type="string | null">
          The employee's last name.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="creator" type="object | null">
      The employee who created the initiative, using the same fields as `assignee`. `null` when the creator was deleted.
    </ResponseField>

    <ResponseField name="notes" type="string">
      Free-text notes attached to the initiative. An empty string when no notes were set.
    </ResponseField>

    <ResponseField name="completion_date" type="string | null">
      RFC 3339 datetime of the target completion date. `null` when no completion date is set.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      RFC 3339 datetime indicating when the initiative was created.
    </ResponseField>

    <ResponseField name="updated_at" type="string | null">
      RFC 3339 datetime indicating when the initiative was last updated. `null` when it was never updated after creation.
    </ResponseField>

    <ResponseField name="is_private" type="boolean">
      Whether the initiative is marked as private.
    </ResponseField>

    <ResponseField name="reminder_settings" type="array of strings">
      The configured reminders for the initiative's completion date. Each value is one of `same_day` or `three_days_before`.
    </ResponseField>

    <ResponseField name="notification_settings" type="array of strings">
      The events for which the assignee is notified. Each value is one of `on_create` or `on_update`.
    </ResponseField>
  </Expandable>
</ResponseField>

<Tip>
  Use `total_count` to calculate how many pages to fetch. See [Pagination](/developers/concepts/pagination) for a complete walkthrough.
</Tip>
