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

# Activity history for an inbox

> What happened on the inbox's threads, newest first: status changes,
assignments, folder moves, topic edits and email sends by users, email opens
by recipients, and automation runs.

Without `streamId`, history covers the inbox's 100 most recently active
threads; pass `streamId` to read one thread (including older ones). With
`userId`, only entries that user performed are returned, so email opens and
automation runs (which have no user actor) are left out.




## OpenAPI

````yaml /openapi.yaml get /api/inboxes/{channelId}/history
openapi: 3.0.3
info:
  title: Aptly API
  version: '1.1'
  description: |
    The Aptly API lets external systems work with boards, contacts, inboxes,
    tasks, files, and other Aptly resources.

    Most endpoints accept an API key in the `x-token` header. Some endpoints
    also accept a delegate token or partner bearer token, as shown in each
    operation's security requirements, and explicitly public endpoints require
    no credential. API keys are scoped to a company and may be restricted to
    specific boards and read, insert, or update permissions; requests outside
    those restrictions receive a 403 `FORBIDDEN` response.
servers:
  - url: https://core-api.getaptly.com
    description: Production
security:
  - ApiKeyHeader: []
paths:
  /api/inboxes/{channelId}/history:
    get:
      tags:
        - Inboxes
      summary: Activity history for an inbox
      description: >
        What happened on the inbox's threads, newest first: status changes,

        assignments, folder moves, topic edits and email sends by users, email
        opens

        by recipients, and automation runs.


        Without `streamId`, history covers the inbox's 100 most recently active

        threads; pass `streamId` to read one thread (including older ones). With

        `userId`, only entries that user performed are returned, so email opens
        and

        automation runs (which have no user actor) are left out.
      operationId: getInboxHistory
      parameters:
        - name: channelId
          in: path
          required: true
          schema:
            type: string
          description: External channel meta ID (`meta.id`) of the inbox.
        - name: streamId
          in: query
          schema:
            type: string
          description: Only this thread. Must belong to the inbox.
        - name: userId
          in: query
          schema:
            type: string
          description: Only entries performed by this Aptly user.
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 1000
          description: Maximum entries returned.
      responses:
        '200':
          description: History entries, newest first.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            `threadAssign`, `changeStatus`, `moveToFolder`,
                            `editTopic`, `emailSent` (and other user action
                            types), `openTrackingView` or `automationEvent`.
                        date:
                          type: string
                          format: date-time
                        streamId:
                          type: string
                          description: Thread the entry belongs to.
                        actor:
                          type: object
                          description: >-
                            `{ id, type }` where type is `user`, `person` or
                            `aptly`; an email opener without a contact record
                            has only `name`.
                          properties:
                            id:
                              type: string
                            type:
                              type: string
                            name:
                              type: string
                        assignedTo:
                          type: string
                          description: '`threadAssign`: the assigned user''s id.'
                        message:
                          type: string
                          description: '`threadAssign`: the note left with the assignment.'
                        status:
                          description: '`changeStatus`: the new status.'
                        folder:
                          description: '`moveToFolder`: the destination folder.'
                        add:
                          type: boolean
                          description: >-
                            `editTopic`: true when topics were added, false when
                            removed.
                        issueTypes:
                          type: array
                          items:
                            type: string
                          description: '`editTopic`: the topic label ids.'
                        subject:
                          type: string
                          description: '`emailSent`: the email subject.'
                        automationDetails:
                          type: object
                          description: '`automationEvent` only.'
                          properties:
                            automationUuid:
                              type: string
                            success:
                              type: boolean
                            error:
                              type: string
                            description:
                              type: string
                            actionPerformed:
                              type: string
        '400':
          description: Invalid `limit`, `streamId` or `userId`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Invalid or missing credential.
        '403':
          description: The authenticated user cannot reach this inbox.
        '404':
          description: >-
            Inbox not found in your company, or `streamId` is not a thread in
            this inbox.
      security:
        - ApiKeyHeader: []
        - DelegateToken: []
        - PartnerBearer: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: x-token
    DelegateToken:
      type: apiKey
      in: header
      name: Authorization
      description: 'Delegate token issued by the platform. Format: `DelegateToken <token>`'
    PartnerBearer:
      type: http
      scheme: bearer
      description: 'Partner token. Format: `Authorization: Bearer <token>`'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.