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

# Export activity logs

> Export activity log entries, one row per event. This endpoint backs the **Export** button on the activity logs in the UI; see [Activity logs](/v10.1/docs/using-validio/activity-logs).

There is no single required permission: visibility is scoped per activity type by the permissions on your API key. For example, `SOURCES_READ` lets the export include source-related activity entries, and entries your key can't see are left out.

Activity rows for deleted resources stay in the export with their original name preserved, so records such as "user X deleted source Y" remain visible after Y is removed.

This endpoint accepts `filter` but not `sort`.

| Column | Description |
| :--- | :--- |
| `Timestamp` | ISO-8601 UTC timestamp. |
| `Action` | Action verb (`CREATED`, `UPDATED`, `DELETED`, or a resource-specific verb). |
| `Activity type` | Event type identifier. |
| `Entity name` | Name of the affected resource at the time of the event. |
| `Entity ID` | Identifier of the affected resource. |
| `Actor type` | `User`, `API key`, or `System`. |
| `Actor` | Email (for users) or API key name (for API keys); empty for `System`. |
| `Namespace` | Namespace the resource belonged to, where applicable. |
| `Description` | Human-readable summary of the event. |



## OpenAPI

````yaml /schemas/csv-export-10.1.json get /activities
openapi: 3.1.0
info:
  title: Validio CSV Export API
  version: 1.0.0
  description: >-
    Export Validio data as CSV over REST. Every endpoint is a `GET` that returns
    `text/csv`. Responses are capped at 100,000 rows. See the [CSV Export API
    overview](/v10.1/developer/validio-api/csv-export-api).
servers:
  - url: https://{instance}/api/export/v1
    description: Your Validio installation
    variables:
      instance:
        default: your-validio-instance
        description: The host you sign in to Validio with.
security:
  - apiKey: []
paths:
  /activities:
    get:
      summary: Export activity logs
      description: >-
        Export activity log entries, one row per event. This endpoint backs the
        **Export** button on the activity logs in the UI; see [Activity
        logs](/v10.1/docs/using-validio/activity-logs).


        There is no single required permission: visibility is scoped per
        activity type by the permissions on your API key. For example,
        `SOURCES_READ` lets the export include source-related activity entries,
        and entries your key can't see are left out.


        Activity rows for deleted resources stay in the export with their
        original name preserved, so records such as "user X deleted source Y"
        remain visible after Y is removed.


        This endpoint accepts `filter` but not `sort`.


        | Column | Description |

        | :--- | :--- |

        | `Timestamp` | ISO-8601 UTC timestamp. |

        | `Action` | Action verb (`CREATED`, `UPDATED`, `DELETED`, or a
        resource-specific verb). |

        | `Activity type` | Event type identifier. |

        | `Entity name` | Name of the affected resource at the time of the
        event. |

        | `Entity ID` | Identifier of the affected resource. |

        | `Actor type` | `User`, `API key`, or `System`. |

        | `Actor` | Email (for users) or API key name (for API keys); empty for
        `System`. |

        | `Namespace` | Namespace the resource belonged to, where applicable. |

        | `Description` | Human-readable summary of the event. |
      operationId: exportActivities
      parameters:
        - name: filter
          in: query
          required: false
          description: >-
            A URL-encoded JSON object narrowing which entries to export. Fields:
            `namespace`, `source`, and `validator` (each an array of IDs), and
            `timeRange` (an object with `start` and `end`).
          schema:
            type: string
          example: >-
            {"namespace":["production"],"timeRange":{"start":"2026-03-01T00:00:00Z","end":"2026-04-01T00:00:00Z"}}
      responses:
        '200':
          $ref: '#/components/responses/CsvExport'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  responses:
    CsvExport:
      description: >-
        A CSV export with a header row, capped at 100,000 rows. The
        `Content-Disposition` header carries a generated filename built from the
        resource, an optional entity name, and the time range (or today's date
        if the request has no time bounds).
      headers:
        Content-Disposition:
          description: >-
            Attachment header carrying the generated filename, for example
            `incident-groups-2026-03-01_2026-04-01.csv`.
          schema:
            type: string
      content:
        text/csv:
          schema:
            type: string
    BadRequest:
      description: >-
        A required parameter is missing, or a JSON parameter (`filter`, `sort`,
        `ids`, or `termIds`) is not valid. The body is a JSON object with an
        `error` message.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
    Unauthorized:
      description: The `Authorization` header is missing, or the key pair is not valid.
    Forbidden:
      description: >-
        The API key is valid but lacks the permissions this endpoint requires.
        The body is `{"error": "Insufficient permissions"}`.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Your API key's access key and access secret, colon-delimited:
        `<access-key>:<access-secret>`. The same header as the GraphQL API; see
        [Authentication](/v10.1/developer/getting-started/authentication).

````